O(n ^(1 / logn))实际上是常数吗?

时间:2019-09-11 19:09:36

标签: algorithm math time-complexity big-o

我遇到了这个时间复杂度函数,根据我的看法,它实际上是恒定的。如果我错了,请纠正我。

n^(1/logn) => (2^m)^(1/log(2^m)) => (2^m)^(1/m) => 2 

既然任何n都可以写为2的幂,那么我可以做上述简化并证明它是常数,对吧?

2 个答案:

答案 0 :(得分:10)

假设log是自然对数,则它等效于e,而不是2,但是无论哪种方式它都是常量。

首先,让我们

k = n^(1 / log n)

然后拿两边的日志:

log k = (1 / log n) * log n

所以:

log k = 1

因此

k = e.

答案 1 :(得分:1)

这是另一种证明:

  • 1 /(log n)=(log e)/(log n)= log n e,以change of base身份表示。
  • 然后,通过将对数定义为幂的倒数,n log n e = e。