演算法分析__時間複雜度的五個記號

Enjoy_process發表於2019-03-05

                                             時間複雜度的五個記號

 

 

fg是定義域為自然數集N上的函式。


O記號

若存在正數 c 和n_{0},使得對一切n\geq n_{0},有0\leq f(n)\leq cg(n)成立,則稱f(n)的漸進的上界是g(n),記作f(n)=O(g(n))

 


\Omega記號

若存在正數 c 和n_{0},使得對一切n\geq n_{0},有0\leq cg(n)\leq f(n)成立,則稱f(n)的漸進的下界是g(n),記作f(n)=\Omega (g(n))

 


o記號

若對於任意正數 c 都存在n_{0},使得對一切n\geq n_{0},有0\leq f(n)<cg(n)成立,則稱f(n)的上界是g(n),記作f(n)=o(g(n))

 

 


\omega記號

若對於任意正數 c 都存在n_{0},使得對一切n\geq n_{0},有0\leq cg(n)<f(n)成立,則稱f(n)的下界是g(n),記作f(n)=\omega(g(n))

 

 


\Theta記號

f(n)=O(g(n))f(n)=\Omega (g(n)),則記作f(n)=\Theta (g(n))

 

 


從極限的角度看

如果 \lim_{n\rightarrow \infty }\frac{f(n)}{g(n)} 存在,且等於某個常數c> 0,那麼f(n)=\Theta (g(n))

如果 \lim_{n\rightarrow \infty}\frac{f(n)}{g(n)}=0  ,那麼f(n)=o(g(n))

如果\lim_{n\rightarrow \infty}\frac{f(n)}{g(n)}=+\infty ,那麼f(n)=\omega (g(n))

 

 

相關文章