复杂度学习

常见的时间复杂度分析方法

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(n 2次方)

你可能感兴趣的:(复杂度学习)