对于所有k,n ^ k是否为O(2 ^ n)是真的吗?
我真的想知道这个上限是否正确。我们可以说n ^ 2是O(n ^ 3),因为n ^ 2< c * n ^ 3,其中c是常数。因此,我可以说n ^ k< c * 2 ^ n,对于k的所有值?
答案 0 :(得分:0)
要显示c
的任何常量k
始终存在常量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
增加相同。因此,每个c
都会有k
个n^k < c * 2^n