所有代码的执行时间 T(n) 与每行代码的执行次数 n 成正比。
T(n) = O(f(n))
1、时间复杂度:表示算法的执行时间与数据规模之间的增长关系
- 只关注循环次数最多的那一段代码
- 总复杂度等于量级最大的那段代码的复杂度
- 嵌套代码的复杂度等于内外复杂度乘积
平均时间复杂度:加权平均时间复杂度/ 期望时间复杂度:
将每一种情况的概率X 复杂度 然后累加,除以情况数
均摊时间复杂度:
当一组连续操作,大部分情况下复杂度都很低,只有个别情况复杂度很高,这时候可以将高复杂度的操作平摊到那些低复杂度的操作上,一般等于最好情况时间复杂度。
2、空间复杂度:表示算法的存储空间与数据规模之间的增长关系