算法分析的四个渐进表示法:
O、o、Θ、Ω
一般,O里的,取最小的
一般,
Ω里的,
取最大的
一般分析时间复杂度,且常考虑最坏复杂度,常用O分析:
三法则:
法则一:
如果T1(N)=O(f(N)),T2(N0=O(g(N))
T1(N)+T2(N)=max(O(f(N)),O(g(N)))
T1(N)*T2(N)=O(f(N))*O(g(N))
法则二:
如果T(N)为k次多项式,T(N)=Θ(N^k)
法则三:
对任意常数k,(logN)^k=O(N)
注意:
忽略调用函数和返回值的开销
声明不计时间
O内无常数,系数,低阶项
一般法则:
法则一:for循环
法则二:嵌套的for循环
法则三:顺序语句
法则四:if-else语句
从不超过判断再加上if和else语句中运行较长的部分的和