大O符号示例混乱

时间:2015-02-24 08:13:57

标签: big-o

这种情况下的问题是询问2 2n = O(2 n )?

现在我通常在0< = 2 2n < = c * 2 n 中求解两个不等式。

0< = 2 2n 非常简单,然后我将其他不等式重写为:

2 n * 2 n < = c * 2 n ,2 n 取消留下我们2 n < = c。在我所拥有的每个其他示例中,我们必须让c为我们分配给它的值,然后求解使其成立的n的值。但是,在这种情况下,我们只得到2 n < = c,我真的不知道如何解释它。我的教授说这意味着它不是O(2 n )“因为没有常数c可以确保任何值n”,但由于某种原因我真的不理解这个概念。有人可以向我解释一下这个问题,或者重新说一下吗?

1 个答案:

答案 0 :(得分:1)

big-O表示法的基础是确定输入的大小(例如,数组中元素的数量)将如何影响您需要执行的操作的数量。

在这些情况下,C代表一个常数,无论多大,它都可以满足n -> ∞时的不等式。在n -> ∞时,显然是2^n -> ∞。因此,为了维护不平等,您需要c -> ∞。 换句话说,由于没有常数C维持不平等,2^2n != O(2n)