[算法導論] 函數的增長---漸進記號

本文摘自下面鏈接文章的一部分:http://blog.csdn.net/xiazdong/article/details/8491622  

       對於某個比較簡單的算法,我們有時候確實能夠精確地分析出算法的複雜度,比如算法複雜度爲5n^2+10n+6,但是事實上並不需要這樣,因爲當n足夠大時,可以忽略掉低階項和最高次項的係數,因此就引出了“漸近複雜度”,並且用“漸近記號”來表示“漸近複雜度”。

漸近記號包括:

(1)Θ(theta):緊確界。 相當於"="

(2)O (大歐):上界。 相當於"<="

(3)o(小歐):非緊的上界。 相當於"<"

(4)Ω(大omega):下界。 相當於">="

(5)ω(小omega):非緊的下界。 相當於">"

給出這些記號的定義:

對於定義的注意點:
(1)這些定義的前提是f(n)和g(n)是漸近非負的,漸近非負的意思是“當n趨於無窮大時,f(n)和g(n)都非負”。
(2)對於第4和第5條定義,需要注意是對於任意的c。

用集合論來表示這5個符號的關係:

從上面的圖可以看出:
(1)如果f(n)=Θ(g(n)),則f(n)=O(g(n))且f(n)=Ω(g(n))。
(2)如果f(n)= o (g(n)),則f(n)=O(g(n))
(3)如果f(n)=ω(g(n)),則f(n)=Ω(g(n))。
(4)如果f(n)=O(g(n)),則要麼是f(n)= o (g(n)),要麼是f(n)=Θ(g(n))。
(5)如果 f(n)=Ω(g(n)) ,則要麼是f(n)=ω(g(n)),要麼是f(n)=Θ(g(n))。






發佈了79 篇原創文章 · 獲贊 62 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章