如何证明2 ^(n + a)是O(2 ^ n)?我唯一能想到的是2 ^ n中的n是任意值,因此n + a同样是任意的,所以n + a = n。或者,2 ^(n + a)= 2 ^ n * 2 ^ a。 2 ^ n显然是O(2 ^ n),并且a在2 ^ a中作为任意值存在,因此2 ^ a = 2 ^ n = O(2 ^ n)。是否有更清晰/更正式的方式来证明这一点?
答案 0 :(得分:3)
对于big-O的形式定义,必须存在M和n0,使得所有n的2 ^(n + a)<= M * 2 ^ n> N0。
如果我们选择M = 2 ^ a,并且n0 = 0,那么我们可以看到2 ^(n + a)= 2 ^ a * 2 ^ n = M * 2 ^ n,其是&lt; = M * 2 ^ n表示所有n> N0。因此,2 ^(n + a)是O(2 ^ n)
答案 1 :(得分:1)
请参阅big-O表示法here的定义。考虑一下是否可以在定义中找到常量M
。
答案 2 :(得分:0)
通常,要证明f(n)
为O(g(n))
,您必须找到一个正整数N
,以便对所有n >= N
,f(n) <= g(n)
。