递归式的求解
递归式的求解主要有三种方法,分别是代入法、递归树法和主方法。递归式与分治方法紧密相连,因为使用递归式可以很自然地刻画分治算法的运行时间。换言之,对递归式进行求解有助于判断算法的优劣性,进而帮助我们选用更优的算法解决实际问题。
一、代入法求解递归式
用代入法对递归式进行求解需要分两步进行:
1. 猜测解的形式;
2. 用数学归纳法求出解中的常数,并证明解是正确的。
在猜测解的形式时,由于并不存在获得正确解的通用方法,因此这一步骤需要经验。一般而言,如果待求递归式的形式似曾相识,则猜测一个类似的解会是一种较便捷的方式。举例而言,假设已知递归式的解为
,那么可以假设递归式
的解也为
,且使用代入法可证明该例子确实如此。除此之外,还有一种猜测方式是,首先证明递归式存在较为宽松的上界和下界,然后不断缩小范围。对于上述例子,可以从下界