在证明Big O,Big Omega和Big Theta时,我们如何识别C和n0?

时间:2018-02-27 04:46:11

标签: algorithm big-o bounds

就像问题所说,我们究竟如何总是找到给定界限的c和n0?

例如,当我不得不解决问题时...... 证明5n ^ 2 + 2n + 1 = O(n ^ 2)

我能够看到2n并说"这永远不会超过2n ^ 2"对于1我也能说"这永远不会大于n ^ 2"。 考虑到这一点,我能够选择C = 8和n0 = 1。

但是,当我遇到问题时...... 使用Big O表示法的基本定义证明n ^ 3 = O(2 ^ n)。

我完全不知道该怎么做,因为我唯一需要处理的是n ^ 3。如何识别这些类型的问题的C和n0?

1 个答案:

答案 0 :(得分:2)

您需要在每个特定情况下找到一个参数,没有算法可以找到证据。

在你的例子中,我们可以使用n ^ 3甚至在o(2 ^ n)中,这显然意味着它在O(2 ^ n)中。要查看前者,请考虑(n ^ 3/2 ^ n)的n->无穷大的极限。 使用L'Hôpital's rule三次,您会看到限制为0。