一、计算时间复杂度简介
计算时间复杂度是指某一程序或算法完成一次计算所需的时间长短,一般与问题规模(N)挂钩。
二、常用时间复杂度记号说明
1、紧界
用θ(大写)表示,表示该时间复杂度既是上界(upper bound)也是下界(lower bound)。例如:
θ(N) # 表示问题具有线性紧界
2、渐进上界
用O(大写)表示,表示该时间复杂度为上界(upper bound),可以理解为“最坏情况”的时间复杂度。例如:
O(N) # 表示问题具有线性上界(最坏情况为线性复杂度)
3、上确界
用o(小写)表示,表示该时间复杂度为上确界(upper tight bound),可以理解为最坏情况的渐进时间复杂度,既最坏情况的时间复杂度也小于这个值。例如:
o(N) # 表示问题具有线性上确界
4、渐进下界
用Ω(大写)表示,表示该时间复杂度为下界(lower bound),可以理解为“最好情况”的时间复杂度。例如:
Ω(N) # 表示问题具有线性下界(最好情况为线性复杂度)
5、下确界
用ω(小写的Ω)表示,表示该时间复杂度为下确界(lower tight bound),可以理解为最好情况的渐进时间复杂度,既最好情况的时间复杂度也大于这个值。例如:
ω(N) # 表示问题具有线性下确界