递归关系式
概述
递归关系式(Recurrence Relation)是用递归方式定义序列的数学方程,也是描述递归算法运行时间的核心工具。在算法分析中,最常见的递归关系形式为 ,可通过代入法、递归树法或主定理求解。
定义
递归关系式(Recurrence Relation)
递归关系式是将序列的第 项用前面的项来表示的方程。在算法分析中, 表示规模为 的问题的运行时间,递归关系式描述了 如何依赖于更小规模的子问题的运行时间。
一般形式:
其中:
- :子问题的个数
- :子问题的规模缩小因子
- :分解和合并步骤的代价
求解方法
| 方法 | 描述 | 适用场景 |
|---|---|---|
| 代入法 | 猜测解的形式,用数学归纳法证明 | 通用方法,但需要先猜出答案 |
| 递归树法 | 将递推展开为树,逐层求和 | 直观理解,适合推导猜测 |
| 主定理法 | 直接套用主定理的三种情形 | 形如 的标准形式 |
| 特征方程法 | 对齐次线性递推求特征根 | 如Fibonacci递推 |
核心性质
| 性质 | 描述 | 备注 |
|---|---|---|
| 初始条件 | 需要指定基本情况(如 ) | 缺少初始条件则递推无唯一解 |
| 边界效应 | 当 不是整数时需取上界或下界 | 通常用 或 |
| 齐次 vs 非齐次 | 齐次递推无常数项,非齐次有 | 非齐次递推的解 = 齐次通解 + 特解 |
| 线性 vs 非线性 | 线性递推中 线性依赖于前面的项 | 算法递推通常是非线性的 |