n^1.001
的增长大于n
log n
?
n^0.001
似乎并不重要...... 答案 0 :(得分:3)
对于任何大于1的指数(x),n x 最终大于n * log(n)。在x = 1.001的情况下,所讨论的n难以置信地大。即使将x降低到1.01,n x 也不会比n * log(n)大,直到超过n = 1E + 128(但在达到1E + 256之前)。
因此,对于n小于天文数的问题,n 1.001 将小于n * log(n),但最终会达到更大的点。
答案 1 :(得分:1)
如果有人感兴趣,这是一个正式的证明:
为简单起见,我们假设我们在基数e
中使用对数。
让a > 1
成为任何指数(例如a = 1.001
)。然后是a-1 > 0
。现在考虑函数
f(x) = x^(a-1)/log(x)
使用L'Hôpital的规则,不难看出这个功能是无限的。此外,计算f(x)
的导数,人们也可以看到x > exp(1/(a-1))
的函数正在增加。
因此,必须存在整数N
,对于所有n > N
,f(n) > 1
都是n^(a-1)/log(n) > 1
。换句话说
n^(a-1) > log(n)
或
n^a > n log(n).
所以
O(n^a) >= O(n log(n))
这表明>
。
但等一下。我们想要>=
,而不是a = 1.001
,对吧?幸运的是,这很容易看到。例如,在O(n^1.001) > O(n^1.0001) >= O(n log(n))
的情况下,我们有
{{1}}
我们已经完成了。