02 SUMS AND RECURRENCES

如何求和式的值呢?一种是观察和式与递推式之间的关系。和式 等价于递归式 这样利用第一章学习的求递归式的封闭形式的方法来求解。
比如是一个常数加上的常量倍,那么的一般形式就可以具化为 一般地,通解形式是 其中是系数,一般情况下是依赖常数参数的。 现在使用成套方法来求解这个问题。首先令,那么,所以 ,得到,所以 ,得到,所以 那么 如果我们想要计算 那么,所以

反过来看,很多递推式可以转化成求和式,所以后续学习的计算和式的方法也可以用于求递归式。回顾汉诺塔的例子 两边同除得到 ,那么有 所以 上面式子没有包含,因为而不是。上面的式子本质上是几何级数求和 所以

此递归式可以用来除,从而这一推导过程中我们将转话成了,这一技巧是一种一般技术的特殊形式。一般技术可以处理任意形式为 的递归式转化为求和的式子。核心思想在于用一个求和因子(summation factor来乘式子两边: 如果选择的恰当,使得 这样令,得到 从而 那么原递归式的解就是 例如时,那么
但是,如何找到呢?观察关系式,展开得到 或者是这个值的任何适当的常数倍都可以作为因子。回到汉诺塔问题,就是一个好的因子。直接应用公式得到的也可以用的,这时
这里需要注意的是除数不能为零,只要不全是零,这个方法就能奏效。

现在我们把这种技术应用到分析快排算法的性能分析中。如果是待排的项,那么平均比较次数的递归公式如下: 这个递归式看起来比之前的复杂很多。尝试一些小的数据,,貌似也没有帮助。
我们可以系统性的消除的复杂性,首先消除除法,接着消除。两边同乘得到 使用替代 第一个式子减去第二个式子消除 这样,原来的递归式转化成了一个简单的多的递归式 对应到式子,且 对于是显然的。时,,那么时,
用前面推导的求和因子公式 根据公式 现在推导下后面的部分是哪里来的。因为直接套用是没有这个尾巴的,因为。注意这里最后写的是,但是递归的地方写的是,那么可以写作 还是有一个尾巴。前面推导的时候我们认为是一个简单的公式,比如,但是,比公式推导的时候多了2,所以需要加上 最后这个公式中的和式和某个应用中频繁出现的量很像。它就是调和数(harmonic number),定义如下: 之所以这样命名,是因为小提琴第个泛音(harmonic)是弦处产生的基音。
现在考虑用来表示,我们现在处理中的和式,需要修改边界条件使得变成 那么就可以记作 和之前一样,可以验证小的情况