时间复杂度T(n)
时间复杂度的公式是: T(n) = O( f(n) )
;其中f(n) 表示每行代码执行次数之和,而 O 表示正比例关系,这个公式的全称是:算法的渐进时间复杂度。
通常n取无穷大,那么一些常数就可以被省略
常见的时间复杂度量级有:
- 常数阶O(1)
- 对数阶O(logN)
- 线性阶O(n)
- 线性对数阶O(nlogN)
- 平方阶O(n²)
- 立方阶O(n³)
- K次方阶O(n^k)
- 指数阶(2^n)
空间复杂度
空间复杂度的公式是: S(n) = O( f(n) )
;空间复杂度并不是指算法实际占用的空间大小,而是指,随着量级n的变化,需要的辅助空间的大小。
常用的空间复杂度:
- O(1)
- O(n)
- O(n²)