一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记作 T(n)=O(f(n)) ,他表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长相同,称作算法的渐进时间复杂度(asymptotic time complexity),简称时间复杂度。
时间复杂度T(n)按数量级递增顺序为:
常数阶 | 对数阶 | 线性阶 | 线性对数阶 | 平方阶 | 立方阶 | …… | K次方阶 | 指数阶 |
O(1) | O(log2n) | O(n) | O(nlog2n) | O(n2) | O(n3) | O(nk) | O(2n) |
复杂度低 ---->---->---->---->---->---->---->---->---->---->---->---->----> 复杂度高