“固定整数 $a\ge1$、常数 $b 1$,先只在规模 $n=b^h$、$h=0,1,2,\ldots$ 上考虑递推关系 $$ T(n)=aT(n/b)+f(n)\quad(n\ge b),…”
形式陈述
递推关系通过已经出现的项约束序列的后续项。一个固定阶数的显式形式是
必须同时说明索引范围、值域以及启动所需的初值
“递推关系”本身不包含初值,因而一般有许多解;关系与初值合在一起才是一个递归定义。固定长度窗口也不是所有递推的限制:例如
直觉
闭式告诉你如何直接从
唯一性有一个很短的归纳证明。若两个解具有相同初值,并在
例子与边界
从对象的末尾导出递推
设
对
于是
初值、值域与分支缺一不可
Fibonacci 关系
关系
即使是显式形式,也可能遇到值域问题。
闭式如何核验
若
推论与应用
线性递推是一类结构较强的递推,常系数齐次情形可用特征根或生成函数求解。含卷积的 Catalan 递推不是固定阶数线性递推,不能套同一特征方程。
算法中的递推既可以描述值,也可以描述成本。计算上面的
从组合问题建立递推时,最值得核对的是分解是否穷尽、各类是否互斥、删除操作是否可逆。前两项保证可以使用加法原理,最后一项保证较小对象数真的等于该类对象数。
参考资料
- Oscar Levin, Discrete Mathematics: An Open Introduction, 3rd ed., 2019, §2.4 Solving Recurrence Relations,递推、初值与闭式核验。
- Mitchel T. Keller and William T. Trotter, Applied Combinatorics, 开放在线版(访问于 2026),§9.4 Solving advancement operator equations,递推计数与求解的区分。