时间复杂度的计算规则:
- 基本操作,即只有常数项,认为其事件复杂度为O(1)
- 顺序结构,事件复杂度按 加法 计算
- 循环结构,事件复杂度按 乘法 进行计算
- 分支结构, 事件复杂度 取最大值
- 判断一个算法的效率时,往往只需要关注操作数量的最高次项,其他次要项和常数项可以忽略。
- 在没有特殊说明时,一般都分析的是最坏事件复杂度。
时间复杂度从小到大排序:
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)