漸進記法(O,Ω,Θ)


第一次在《算法導論》中看到這三種漸進記法的符號,當時對此一竅不通,所以也就沒有注意它們,直接把他們忽略了,知道學習算法的時候,才知道當初的做法有多傻,因為一個算法的好壞以及復雜度,可以用它們來表示。現在我學習過程當中用的最多的是O(g(n)),大概是老師認為我們還不具有算法設計分析與優化的能力吧。

先聲明一下:本文不會對算法的時間復雜度和空間復雜度進行討論,大家可以查看別的博客。^_^

好了,首先介紹一下這三個符號吧。

符號 含義
O 漸進小於或等於
Ω 漸進大於或等於
Θ 漸進等於

其實大家一看到本文的標題,就應該猜到這幾個符號的用法與高等數學有關,因為“漸進”兩個字,比如在高等數學中經常聽到漸進線之說。

請看以下兩個舉例:

如果a=x^2+x,b=x^2+5,則稱a與b是相同等級的,且a漸進等於b;

如果a=x^2+x,b=x^3+5,則稱a與b不是相同等級的,且a漸進小於或等於b,b漸進大於或等於a。

其中判斷a和b是不是兩個相同等級的,是依靠比較兩個式子中自變量最高的次數,a=x^2+x中自變量最高次數為2,b=x^3+5中自變量最高次數為3。

如果兩個自變量的最高次數相同,則說明它們是相同等級的,即他們倆漸進相等,如果其中一個的次數比另一個高,則稱次數低的一個式子漸進小於或等於次數高的式子,次數高的一個式子漸進大於或等於次數低的式子。注意不要關注他們的系數誰大誰小。

現在用符號表示語言:

a=x^2+x,b=x^2+5;====>a=Θ(b);

a=x^2+x,b=x^3+5;====>a=O(b)或者b=Ω(a);

其實,這個只要明白比較的是什么就能理解三個符號的含義及用法了。

簡記為:O表示上界,Ω表示下界,Θ表示平行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM