3.5用递归法解决问题解题.pptVIP

  • 8
  • 0
  • 约3.76千字
  • 约 23页
  • 2017-05-09 发布于湖北
  • 举报
第三章 算法的程序实现 3.5 ?用递归法解决问题 教学重点 教学难点 (1)递归过程思路的建立。 (2)判断问题是否适于递归解法。 (3)正确写出递归程序。 递归算法 递归算法作为计算机程序设计中的一种重要的算法,是较难理解的算法之一。 简单地说,递归就是编写这样的一个特殊的过程,该过程体中有一个语句用于调用过程自身(称为递归调用)。 递归过程由于实现了自我的嵌套执行,使这种过程的执行变得复杂起来,其执行的流程可以用图1所示。 递归算法 调用子程序的含义 在过程和函数的学习中,我们知道调用子程序的一般形式是:主程序调用子程序A,子程序A调用子程序B,如图如示,这个过程实际上是 递归的定义: 一个函数在定义时, 地调用了自己,这种算法在程序设计中统称为递归法。 递归算法 分析: 可以推出下列式子: 小结: 递归算法的实质: 是把问题转化为规模缩小了的同类问题的子问题。 然后递归调用函数(或过程)来表示问题的解。 一个应用递归算法解决的问题经典例子 传说在古代印度的贝拿勒斯神庙,有一块黄铜板上插了3根宝石柱,在其中一根宝石柱自上而下由小到大地叠放着64个大小不等的金盘。一名僧人把这些金盘从一根宝石柱移到另外一根上。僧人在移动金盘时遵守下面3条规则: 第一,一次只能

文档评论(0)

1亿VIP精品文档

相关文档