解决大O表示法之间的区别:O(f(n)) - O(f(n))

时间:2014-09-08 07:33:39

标签: algorithm asymptotic-complexity

我在其中一本书中遇到过这个问题。 我不太确定这在逻辑上意味着什么。 我也没有任何扣减的解决方案。 我们如何在渐近符号上使用数学运算,如果是,则哪些运算有效。 提前谢谢。

1 个答案:

答案 0 :(得分:4)

O(f(n))描述了一类函数,因此我们无法真正地证明O(f(n)) - O(f(n))一般的结果是什么。请注意,我们可以有许多案例,例如g(n) - g(n) = 0g(n) - (-g(n)) = 2g(n)(两者都相当于O(f(n)) - O(f(n)),因为它们只是因常数因素而不同)。充其量我们可以说O(f(n)) - O(f(n)) = O(f(n)),我们永远不会超越它,因为它需要一个函数比另一个函数大一个非常数因子(取决于n)。< / p>

你也可以添加BigO - 最大的元素将始终支配整个表达式O(n^2) + O(n) = O(n^2),因为BigO只是表示我们复杂性的上限。

但是,我并不真正看到用于减法。