- 9
- 0
- 约1.37万字
- 约 75页
- 2015-08-31 发布于重庆
- 举报
算法设计与分析_递归与分治(第二章).ppt
计算机算法设计与分析 第二章递归与分治 递归的思想 递归(Recursion)就是通过把复杂问题分解为较简单的同一问题来求解。 递归求解问题的方法通常有两步: 第一步是考虑最简单的情况下该问题如何求解。 第二步是考虑该问题的较复杂情况是如何由较简单的所构成的。 由此得出该问题求解的方法。 Hanoi塔问题 Hanoi塔问题:有A、B、C三根柱子。A上有n个圆盘,自下而上由大到小地叠在一起。 Hanoi塔问题 让我们先考虑最简单的情况: 1、若没有盘子(n = 0),自然不需要做任何事情。 Hanoi塔问题 让我们先考虑最简单的情况: 1、若没有盘子(n=0),自然不需要做任何事情。 Hanoi塔问题 现在来考虑复杂的情况,即n 1的情况。 Hanoi塔问题 于是我们有了解决n 1的的策略: Hanoi塔问题 于是我们有了解决n 1的的策略: Hanoi塔问题 于是我们有了解决n 1的的策略: Hanoi塔问题 于是我们有了解决n 1的的策略: Hanoi塔问题 我们用Fr、To和As分别表示源柱、目标柱和辅助柱,解Hanoi塔可以描写为这样的递归过程: 1、若n = 0,什么也不做; Hanoi塔问题 若写成java语言,解Hanoi塔可以描写为这样的递归过程: void Hanoi(int n, int Fr, int To, int As) { if (n
原创力文档

文档评论(0)