时间复杂度
由T(n)转化为O(n)的过程
主要关注遍历过程中,内层代码执行的次数(需要计算)
目测
一层遍历时间复杂度 O(n)
两层遍历时间复杂度 O(n^2)
nm的二位数组遍历的时间复杂度为O(nm)
常见的时间复杂度
| O(1) | O(logn) | O(n) | O(nlogn) | O(n^2) | O(n^3) | O(2^n) |
|---|
空间复杂度
算法执行过程中,产生的临时占用内存空间的大小
常见的空间复杂度
| O(1) | O(n) | O(n^2) |
|---|
在算法执行过程中,函数对内存的占用量是恒定的,则空间复杂度是O(1)
在算法执行过程中,如果需要新建一个大小为n的数组,则空间复杂度是O(n)
在算法执行过程中,如果需要新建一个大小为n*n的数组,则空间复杂度是O(n^2)