以下方程式正确吗? :
O(f(n))+Ω(g(n))=Ω(f(n))+ O(g(n))
我知道Big O的意思并不比(功能)好,而Big Omega的意思也不比(功能)差。但是我不知道这是否使上述说法正确或错误。
答案 0 :(得分:0)
我们有三种一般情况(用于增加功能):
案例1: f(n)∈o(g(n))(注意“小哦”)。
在这种情况下,O(f(n))O O(g(n))和Ω(g(n))Ω(f(n))因此,O(f(n))+Ω(g(n))是O(g(n))+Ω(f(n))的适当子集。
例如,如果f(n)= n和g(n)= n 3 ,则n 2 的单位是Ω(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))的适当超集。
总的来说,这两套通常不相等。
答案 1 :(得分:0)
让$ f(n)= n,g(n)= 2 ^ n $
$ t(n)= 2n $在第二组中,因为$ n =Ω(f(n))$和$ n = O(g(n))$,但不在第一组中