001---时间和空间复杂度的介绍
- 时间复杂度:
- 时间复杂度是用来估计算法运行时间的一个式子(单位)
- 一般来说,时间复杂度高的算法运行时间越慢
- 常见的时间复杂(按效率排序) :
O(1) < O(LogN) < O(N) < O(n * logN) < O(n * n) < O(n * n logN) < O(n * n * n
- 空间复杂度
- 用来评估算法内存占用大小的式子
- 空间复杂度的表达方式与时间复杂度完全一样
算法使用的几个变量:O(1)
算法使用了长度为n的一维列表:O(n)
算法使用了m行n列的二维列表:O(mn) - 通常以空间换取时间