常见的时间复杂度分析方法
1.数循环次数
循环次数是N,3层循环,时间复杂度就是N的3次方
2.均摊分析
3.递归式--主定理(算法导论第一章)
1.O(1)
基本运算 +-*/ %寻址
2.O(logn)
二分查找
3.O(n 1/2次方)
枚举约数
4.O(n)
线性查找
5.O(n 2次方)
朴素最近点对,冒泡排序
6.O(n 3次方)
Floayd最短路
普通矩阵乘法
7.O(nlogn)
归并排序,堆排序
快速排序的期望复杂度
基于比较排序的算法下界
8.O(2 n次方)
枚举全部的子集
9.O(n!)
枚举全排列
总结
优秀 O(1)<O(logn)<O(n 1/2次方)<O(n)<O(nlogn)
可优化O(n 2次方)<O(n 3次方)<O(2 n次方)<O(n!)