### 最坏时间复杂度
> 同样的算法对于处理数据的不同也会复杂度也会不同。
- 算法完成工作最少需要多少基本操作,即最优时间复杂度
- 算法完成工作最多需要多少基本操作,即最坏时间复杂度
- 算法完成工作平均需要多少基本操作,即平均时间复杂度。
主要关注最坏时间复杂度,是一种保证,表明算法在此种程度的基本操作中一定能完成工作。
### 时间复杂度的几条基本计算原则
- 基本操作,即只有常数项,认为其时间复杂度未O(1)
- 顺序结构,按加法计算
- 循环结构:按乘法计算
- 分支结构:时间复杂度取最大值
- 判断一个算法效率时,往往只需要关注最高次项,,其他次项和常数项基本可以忽略。
- 我们所分析的算法的时间复杂度都是指最坏时间复杂度。
> 对于第二次改进的时间复杂度的分析 T(n)=n^2 *(1+max(0,1))=n^2+2=O(n^2)