O(n^2) vs O (n(logn)^2)
algorithm, big-o, data-structures, math, time-complexity
Solution
n is only less than (log n)2 for values of n less than 0.49...
So in general (log n)2 is better for large n...
But since these O(something)-notations always leave out constant factors, in your case it might not be possible to say for sure which algorithm is better...
Here's a graph:
(The blue line is n and the green line is (log n)2)
Notice, how the difference for small values of n isn't so big and might easily be dwarfed by the constant factors not included in the Big-O notation.
But for large n, (log n)2 wins hands down:
Problem
Is time complexity `O(n^2)` or `O (n(logn)^2)` better? I know that when we simplify it, it becomes ``` O(n) vs O((logn)^2) ``` and `logn` < `n`, but what about `logn^2`?