我看到了这个时间复杂度函数,据我所知,它实际上是恒定的。如果我错了,请纠正我。
n^(1/logn) => (2^m)^(1/log(2^m)) => (2^m)^(1/m) => 2
因为任何一个n都可以写成2的幂次方,所以我可以进行上述简化并证明它是恒定的,对吗?
假设 log
是自然对数,则这与 e
相等,而不是 2
,但无论如何都是常数。
首先,让:
k = n^(1 / log n)
然后取两边的对数:
log k = (1 / log n) * log n
log k = 1
现在将两边都提高到e
的幂级数:
e^(log k) = e^(1)
因此:
k = e.
这里提供了一种替代证明: