漸進符號

分析算法時間複雜度時,主要關心的是影響最大的操做算法

主要的幾個漸進符號(及其表明的意思)以下:函數

O      Ω     Θ      o      ω

<=   >=    =     <      >

大寫O符號

大O符號是給定執行時間或次數的上限,即小於等於

f(n)=O(g(n)),這裏f(n)是分析出來算法的執行次數的函數spa

O的定義:當且僅當c>0 and n0>0,使0<=f(n)<=c(g(n)) 成立,對於全部的 n>=n0時間

cg(n)便是函數f(n)的上限。

Ex:  f(n)=n^3+O(n^2)

means there is fun h(n)∈O(n^2)

           such that f(n)=n^3+h(n)

Ex:  n^2+O(n)=O(n^2)

means for any f(n)O(n)

            there is an h(n)∈O(n^2)

            such  that n^2+f(n)=h(n)

Ω符號

Ω符號是給定執行時間或次數的下限,即最小須要的時間或

Ω的定義:當且僅當c>0 and n0>0,使0<=c(g(n))<= f(n)成立,對於全部的 n>=n0

Ex:√n = Ω(lgn)

根號下n至少是lgn的常數倍

1

Θ符號

Θ符號是大O和Ω的交集,即等於(=)

Θ(g(n)) =  O(g(n)) ∩ Ω(g(n))

1

1

1

1

1

相關文章
相關標籤/搜索