Algorithm 大O如果2^n与4^n

Algorithm 大O如果2^n与4^n,algorithm,math,big-o,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^n和3^n的顺序不同 让我们试着为自己达成这个目标。假设4^n=O(2^n)。然后有一些m和一些c,使得4^n=m。然后我们得到所有n>=m: (2*2)^n <= c*2^n =>

我想弄清楚这两个大O。很明显,2^n的大O是O(2^n),但我不确定你是否能减少4^n。如果是这样,我会做4^n=(2^2)^n。然后我们可以把它分配成2^(2n),我会把它减少到O(2^n),因为n前面的常数无关紧要

这是正确的吗?谢谢。

来自:

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


让我们试着为自己达成这个目标。假设4^n=O(2^n)。然后有一些m和一些c,使得4^n=m。然后我们得到所有n>=m:

   (2*2)^n <= c*2^n
=> 2^n * 2^n <= c*2^n
=> c >= 2^n
(2*2)^n2^n*2^n c>=2^n

所以c显然不可能是常数,这是一个矛盾。

不,这是不正确的:没有常数c,所以
4^n很好。比引用维基百科更好:)这是一个很好的评论,很有启发性(并且同意,比引用一个只说它们的顺序不同的话要好得多)。这采用了指数乘积规则:a^n*b^n=(a*b)^n和矛盾证明。