分析算法時間複雜度時,主要關心的是影響最大的操做算法
主要的幾個漸進符號(及其表明的意思)以下:函數
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
Θ(g(n)) = O(g(n)) ∩ Ω(g(n))
1
1
1
1
1