【发布时间】:2020-08-05 21:13:56
【问题描述】:
下面的等式是真的吗? :
O(f(n)) + Ω(g(n)) = Ω(f(n)) + O(g(n))
我知道 Big O 的意思是不比 (function) 好,而 Big Omega 的意思是不比 (function) 差。但我不知道这是否使上述说法正确或错误。
【问题讨论】:
下面的等式是真的吗? :
O(f(n)) + Ω(g(n)) = Ω(f(n)) + O(g(n))
我知道 Big O 的意思是不比 (function) 好,而 Big Omega 的意思是不比 (function) 差。但我不知道这是否使上述说法正确或错误。
【问题讨论】:
令$f(n) = n, g(n)= 2^n$
$t(n) = 2n$ 在第二组,因为 $n = Ω(f(n))$ 和 $n = O(g(n))$,但不在第一组
【讨论】:
我们有三种一般情况(递增函数):
案例 1: f(n) ∈ o(g(n))(注意“小哦”)。
在这种情况下,O(f(n)) ⊂ O(g(n)) 和 Ω(g(n)) ⊂ Ω(f(n))。因此,O(f(n)) + Ω(g(n)) 是 O(g(n)) + Ω(f(n)) 的真子集。
例如,如果 f(n) = n 且 g(n) = n3,则 n2 在 Ω(f(n)) + O 中(g(n)),但不在 O(f(n)) + Ω(g(n)) 中。
案例2: f(n) ∈ Θ(g(n))
在这种情况下,O(f(n)) = O(g(n)) 和 Ω(g(n)) = Ω(g(n)),所以这两个集合是相等的。
案例3: f(n) ∈ ω(g(n))
这种情况相当于情况1,只是将f和g翻转了。所以通过对称性,我们有 O(f(n)) + Ω(g(n)) 是 O(g(n)) + Ω(f(n)) 的正确 超集。
总之,这两个集合在一般情况下是不相等的。
【讨论】: