这部分主要讲了三个递归问题:汉诺塔、平面分割、约瑟夫环,这三个问题都比较常见,其新颖之处在于对问题的分析假设和严谨的证明,特别是第三个问题作出了较深入的分析。
一、The Tower Of Hanoi
假设有A、B、C三根柱子,将n个盘子(由大到小排序)从A移到B且中间不能出现大盘在小盘上面的这种情况。这个问题很容易想出递归的解法。若我们设为将n个盘子从一根柱子移到另一根柱子所需要的最少步数,我们的结论是
,但是如何证明这是最优的呢?可以转化为下面两步求解。
1、证明。这个好办,我们可以将n-1个盘子移到第C(
),然后将最大的盘移到B(1),最后将C中n-1个盘移动到B(
),即总可以再
时间内办到。
2、证明 。考虑移动最大的盘,前提是必须将n-1个盘移动到C(
),易知至少需要次移动
次。由于移动过程中每个盘都可以再空柱和A之间移动任意次,所以可能为大于。
综上可证明我们的结论,用数学归纳法易知。
二、Lines In The Plane
n条直线最多能把平面划分成几个部分。我们设为n条直线最多能划分是平面数ÿ