T(N) = O(f(N))(念做大O),含义:T(N)的增长率小于等于f(N)的增长率。理解为,N趋于无穷大,T(N) <= f(N)。若T(N)的增长率恒小于f(N),则可记为T(N) = o(f(N))(念做小o)。

T(N) = Ω(g(N))(念做omega),含义:T(N)的增长率大于等于g(N)的增长率。理解为,N趋于无穷大,T(N)>=g(N)。

当T(N) = O(h(N)) 且 T(N) = Ω(g(N)),则T(N) = Θ(h(N))(念theta)。

法则1:

如果T1(N) = O(f(N))且T2(N) = O(g(N)),那么

1)T1(N) + T2(N) = max(O(f(N)), O(g(N)))

2)T1(N) * T2(N) = O(f(N) * g(N))

法则2:

如果T(N)是一个k次多项式,则T(N)=Θ(Nk)

法则3:

对于任意常熟k,logkN = O(N)。(这个法则用的比较多,说明每个循环若都是logN,则套几次循环都比O(N)快)