复杂度学习

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

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!)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容