证明了928675 * 2 ^ n = 0(2 ^ n)大注释复杂度

时间:2015-01-29 13:13:56

标签: algorithm math logic big-o proof

我应该证明92675 * 2 ^ n = 0(2 ^ n)并使用0(f(n))的数学定义。我想出了以下答案,不确定这是否是接近它的正确方法

答案:由于92875是常数,我们可以用K和F(n)= K + 2n代替它,因此O(f(n)= O(K + 2n),因为K是常数可以从公式中拿走,因此我们留下O(f(n)= O(2n)

有人可以确认这是否正确吗? 提前致谢

编辑:刚刚意识到我写了+而不是*并且忘记了几个^符号

答案:由于92675是常数,我们可以用K和F(n)= K * 2 ^ n代替它,因此O(f(n)= O(K * 2 ^ n)并且因为K是常数它可以从公式中拿走,因此我们留下O(f(n)= O(2n)

1 个答案:

答案 0 :(得分:2)

你应该准确证明这个命题(O(f(n))=O(K*2^n))。你不能用它来证明自己。

f(x) is O(g(x))的定义是,对于k的某些常数实数x_0|f(x)| <= |k*g(x)|x>=x_0

这就是为什么如果f(x) = k*g(x)我们可以说f(x) is O(g(x))|k*g(x)| <= |k*g(x)|代表任何x)。特殊情况下,g(x)=2^xk=928675也是如此。