时间复杂度和空间复杂度
1. 算法的时间复杂度
概念:进行算法分析时,语句总的执行次数 T(n) 关于问题规模 n 的函数,进而分析 T(n) 随 n 的变化并确定 T(n) 的数量级。
公式:T(n)=O(f(n)),f(n) 是问题规模 n 的某个函数
常见的时间复杂度
例子 | 时间复杂度 | 术语 |
---|---|---|
5201314 | O(1) | 常数阶 |
3n+4 | O(n) | 线性阶 |
3n^2+4 | O(n^2) | 平方阶 |
3log(2)n+4 | O(logn) | 对数阶 |
2n+3nlog(2)n+4 | O(nlogn) | nlogn阶 |
n3+2n2+4n+3 | O(n^3) | 立方阶 |
2^n | O(2^n) | 指数阶 |
常用时间复杂度所耗费的时间
2. 算法的空间复杂度
概念:算法的空间复杂度通过计算算法所需的存储空间实现
计算公式:S(n) = O(f(n)),其中,n 为问题规模,f(n) 为语句关于 n 所占存储空间的函数