文章为个人学习笔记,参考课程:
https://u.geekbang.org/subject/algorithm/1000343
时间复杂度(与运行次数有关,n表示数据规模)
O(1):常数复杂度
O(log n):对数复杂度
O(n):线性时间复杂度
O(n^2):平方
O(n^3):立方
O(2^n):指数
O(n!):阶乘
注意:只看最高复杂度的运算,忽略系数。
例子参考:https://www.zhihu.com/question/21387264
空间复杂度
- 数组长度
- 递归深度
常见数据结构的时间与空间复杂度:
常见算法(具体参见主定理):
http://zh.wikipedia.org/wiki/%E4%B8%BB%E5%AE%9A%E7%90%86
二分查找:针对有序的数列。
二叉树遍历
有序二维矩阵
归并排序
图片来源(https://www.bigocheatsheet.com/)