算法之時間複雜度

~~對規模爲n的問題,算法的運行時間增長情況

 

所以有:O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!)

 

漸進意義下的記號:O()、Ω()、Θ(=)、o(<)

 

① 大O記法:若存在一個自然數n0 和一個常數c>0,使得

            ,
    則稱f( n )爲O( g(n) )的。 // f 沒有g的某個常數倍增長的快。(上界)

 

 

② Ω記法:若存在一個自然數n0 和一個常數c>0,使得
               
    則稱f( n )爲Ω( g(n) )的。 // f 的增長至少和g的某個常數倍一樣快。(下界)

 

 

③ Θ記法:若存在一個自然數n0 和兩個常數c1、c2>0,使得
               
    則稱f( n )爲Θ( g(n) )的。 //Θ給出算法運行時間增長率的一個精確描述。

 

 

④ o記法:若存在一個自然數n0 和一個常數c>0,使得
                
     則稱f( n )爲o( g(n) )的。 //當n充分大時,f對於g可以忽略不記。

 

            

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章