1.递归问题
1.1 汉诺塔问题
问题描述:
有n个圆盘组成的塔,这些圆盘按照大小递减的方式套在三个柱子的其中一个上,现在要求将整个塔移动到另一根柱子上,每次只能移动一个圆盘,且较大的圆盘在始终不能放在较小的圆盘上面,问最少移动多少次可以达到要求。
解决思路:
- 先研究小的情形,移动一个圆盘时,移动两个圆盘时···
- 求解问题的下一步是引入适当的记号:命名并求解。
令 T n T_n Tn是将 n n n个圆盘按要求移动所花费的最少移动次数。显然有 T 1 = 1 , T 2 = 3 T_1=1,T_2=3 T1=1,T2=3。 - 现在改变视角,来考虑大的情形:如何移动大的塔?
首先把 n − 1 个 n-1个 n