大O如果2 ^ n对4 ^ n

时间:2015-08-26 18:27:55

标签: algorithm math big-o

我正在试图找出这两个大O.显然2 ^ n的大O是O(2 ^ n),但我不确定你是否可以减少4 ^ n。如果是这样,我会做4 ^ n =(2 ^ 2)^ n。然后我们可以分配这个2 ^(2n),我会减少到O(2 ^ n),因为n前面的常数无关紧要。

这是对的吗?谢谢。

2 个答案:

答案 0 :(得分:8)

来自Wikipedia on Big O

  

另一方面,具有不同碱基的指数不是相同的顺序。例如,2 ^ n和3 ^ n的顺序不同。

答案 1 :(得分:8)

让我们试着为自己做到这一点。假设4 ^ n = O(2 ^ n)。然后存在一些m和一些c,使得对于所有n> = m,4 ^ n <= c * 2 ^ n。然后我们为所有n&gt; = m:

#-*-coding:utf8;-*-
#qpy:2
#qpy:console
import site
import requests
r = requests.get("http://www.google.com")
print r.text.encode('utf-8')

所以c显然不是常数,而是矛盾。