对于所有 k,n^k 是否为 O(2^n)?

Does for all k, n^k is O(2^n)?

对于所有 k,n^k 是 O(2^n) 是真的吗?

其实我想知道这个上限是否正确。就像我们可以说 n^2 是 O(n^3) 因为 n^2 < c * n^3 是真的,其中 c 是一个常数。那么类似地,对于 k 的所有值,我可以说 n^k < c * 2^n 吗?

为了证明任何常量 k 总有一个常量 c 使得 n^k < c * 2^n,考虑这个:(n+1)^k / n^k = ((n+1)/n)^k。随着 n 的增加,(n+1)/n 趋于 1,因此 ((n+1)/n)^k 趋于 1。这意味着值之间的相对增加随着 n 的增加而减少。

现在考虑 2^(n+1) / 2^n。这分明是2。因此,相对增加与 n 增加相同。因此,每个 k 都会有一个 c,这样 n^k < c * 2^n