怎么分析一段代码的时间复杂度呢?三个方法:
- 只关注循环执行次数最多的一段代码
- 加法法则,T(n) = O(max(f(n), g(n)))
- 乘法法则,O(f(n)) * O(g(n)) = O(f(n) * g(n))
只要算法中不存在循环,即使有成千上万行代码,时间复杂度也是O(1).
https://www.jianshu.com/p/f023e1fb2e2c
https://www.cnblogs.com/Auge/p/12051200.html
https://www.jianshu.com/p/f4cca5ce055a
常见的空间复杂度一般就是O(1),O(n),O(n²)。