比较 O((logn) ^ const) 和 O(n)
Comparing O((logn) ^ const) with O(n)
我做了一些计算,发现如果const = 2,那么n在无穷大上的导数就是1,(logn)^2的导数就是2logn/n,这是趋向的为 0,因此当 n 趋于无穷大时,O(n) /O((logn)^2) 似乎应该发散,但是如果 const > 2 怎么办?
与其查看导数,不如考虑根据相同的基重写每个表达式。例如,请注意,对于任何以 b 为底的对数,
n = blogb n,
特别是
n = (log n)log(log n) n
可以使用对数的性质重写为
n = (log n)log n / log log n
您的问题是 (log n)k 与 n 相比如何。这意味着我们将 (log n)k 与 (log n)log n / log log n 进行比较。这应该更清楚地表明,没有常数 k 会导致 (log n)k 超过 n,因为术语 log n / log log n 对于任何固定常数 k 最终都会超过 k。
我做了一些计算,发现如果const = 2,那么n在无穷大上的导数就是1,(logn)^2的导数就是2logn/n,这是趋向的为 0,因此当 n 趋于无穷大时,O(n) /O((logn)^2) 似乎应该发散,但是如果 const > 2 怎么办?
与其查看导数,不如考虑根据相同的基重写每个表达式。例如,请注意,对于任何以 b 为底的对数,
n = blogb n,
特别是
n = (log n)log(log n) n
可以使用对数的性质重写为
n = (log n)log n / log log n
您的问题是 (log n)k 与 n 相比如何。这意味着我们将 (log n)k 与 (log n)log n / log log n 进行比较。这应该更清楚地表明,没有常数 k 会导致 (log n)k 超过 n,因为术语 log n / log log n 对于任何固定常数 k 最终都会超过 k。