Time complexity n^1.001的大O时间复杂度 为什么n^1.001的增长大于用大O表示法表示的nlogn? n^0.001似乎不重要

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之

对于任何大于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)


因此,对于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))

我们已经完成了。

如果有人感兴趣,这里有一个正式的证明:

为了简单起见,假设我们在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))

我们完成了。

什么是1e62^1.001?什么是1e62*日志(1e62)?什么是1e62^1.001?什么是1e62*日志(1e62)?