所有代码的执行时间T(n)与每行代码的执行次数n成正比。即T(n)=O(f(n))。
分析原则:
1、只关注循环执行次数最多的一段代码。
2、加法法则:总复杂度等于量级最大的代码段复杂度。
3、乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积。
复杂度量级:
1、非多项式量级:O(2n)、O(n!)
2、多项式量级:常量级O(1)、对数阶O(logn)、线性阶O(n)、线性对数阶O(nlogn)、平方阶O(n2)、k次方阶O(nk)
分类:
- 最好情况的时间复杂度
- 最坏情况的时间复杂度
- 平均情况时间复杂度
- 均摊时间复杂度