Chi*_*hin 11 algorithm math big-o time-complexity data-structures
是时间复杂O(n^2)还是O (n(logn)^2)更好?
我知道,当我们简化它时,它就变成了
O(n) vs O((logn)^2)
Run Code Online (Sandbox Code Playgroud)
和logn< n,但是怎么样logn^2?
Mar*_* A. 15
Ñ仅小于(登录 n)的2对的值Ñ小于0.49 ...
所以一般来说(log n)2对于大n来说更好...
但由于这些O(某些)注释总是会遗漏不变因素,在您的情况下,可能无法确定哪种算法更好......
这是一张图:

(蓝线为n,绿线为(log n)2)
注意,n的小值的差异不是那么大,并且可能很容易被Big-O表示法中未包含的常数因子相形见绌.
但对于大n,(log n)2获胜:

ami*_*mit 13
对于每个常数k渐近log(n)^k < n.
证明很简单,请记录等式的两边,然后得到:
log(log(n))*k < log(n)
Run Code Online (Sandbox Code Playgroud)
很容易看出渐近地,这是正确的.
语义注释:假设在这里log(n)^k == log(n) * log(n) * ... * log(n) (k times)而不是log(log(log(...log(n)))..) (k times)因为它有时也被使用.
| 归档时间: |
|
| 查看次数: |
40131 次 |
| 最近记录: |