Time complexity n^1.001的大O时间复杂度 为什么n^1.001的增长大于用大O表示法表示的nlogn? n^0.001似乎不重要
对于任何大于1的指数(x),nx最终大于n*log(n)。在x=1.001的情况下,所讨论的n大得令人难以置信。即使将x降低到1.01,直到超过n=1E+128(但在达到1E+256之前),nx也不会大于n*log(n) 因此,对于n小于天文数的问题,n1.001将小于n*log(n),但最终会达到一个更大的点。对于任何大于1的指数(x),nx最终会大于n*log(n)。在x=1.001的情况下,所讨论的n大得令人难以置信。即使将x降低到1.01,直到超过n=1E+128(但在达到1E+256之前),nx也不会大于n*log(n)Time complexity n^1.001的大O时间复杂度 为什么n^1.001的增长大于用大O表示法表示的nlogn? n^0.001似乎不重要,time-complexity,big-o,Time Complexity,Big O,对于任何大于1的指数(x),nx最终大于n*log(n)。在x=1.001的情况下,所讨论的n大得令人难以置信。即使将x降低到1.01,直到超过n=1E+128(但在达到1E+256之前),nx也不会大于n*log(n) 因此,对于n小于天文数的问题,n1.001将小于n*log(n),但最终会达到一个更大的点。对于任何大于1的指数(x),nx最终会大于n*log(n)。在x=1.001的情况下,所讨论的n大得令人难以置信。即使将x降低到1.01,直到超过n=1E+128(但在达到1E+256之
因此,对于n小于天文数的问题,n1.001将小于n*log(n),但最终会达到一个更大的点。如果有人感兴趣,这里有一个正式的证明: 为了简单起见,假设我们在base
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
或
所以
这表明O(n^a)>=O(n log(n))
但是等一下。我们想要的是
,而不是=
,对吗?幸运的是,这很容易看到。例如,在a=1.001的情况下,我们有
O(n^1.001) > O(n^1.0001) >= O(n log(n))
我们已经完成了。如果有人感兴趣,这里有一个正式的证明:
为了简单起见,假设我们在basee
中使用对数
让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
或
所以
这表明O(n^a)>=O(n log(n))
但是等一下。我们想要的是
,而不是=
,对吗?幸运的是,这很容易看到。例如,在a=1.001的情况下,我们有
O(n^1.001) > O(n^1.0001) >= O(n log(n))
我们完成了。什么是1e62^1.001?什么是1e62*日志(1e62)?什么是1e62^1.001?什么是1e62*日志(1e62)?