复杂度分析
复杂度分析是算法分析的核心,用于评估算法在输入规模增大时的效率变化趋势。
多重循环类问题
对于嵌套循环的复杂度分析,关键在于确定循环变量的更新方式与退出条件的关系。
基本方法:找到循环退出条件的依赖变量 x,每次循环更新的变量 y,通过 x 与 y 的关系找到每次循环 y 的变化值 dy,对比循环退出条件即可得到循环次数。若内层循环次数依赖于外层循环,则先计算外层循环次数,再对每层内层循环次数求和。
常见复杂度类型
- 常数时间 O(1):与输入规模无关
- 对数时间 O(log n):二分法
- 线性时间 O(n):单层遍历
- 线性对数时间 O(n log n):分治算法
- 平方时间 O(n²):双层嵌套循环
- 指数时间 O(2ⁿ):暴力枚举

链接到
- 上一个知识点:无(本章第一个知识点)
- 下一个知识点:1.2 递归函数