递归与递推技术方案.pptVIP

  • 66
  • 0
  • 约9.6千字
  • 约 73页
  • 2016-12-05 发布于湖北
  • 举报
递归与递推 recursion 第一部分 递归 一、递归的概念 若在一个函数、过程或者数据结构定义的内部,直接(或间接)出现定义本身的应用,则称它们是递归的,或者是递归定义的。 递归是一种强有力的数学工具,它可使问题的描述和求解变得简洁和清晰。 n!=n*(n-1)! F(n)=F(n-1)+F(n-2) 一、递归的概念 对于一个递归定义而已,除了要定义递归的方式(即如何递归)外,还必须定义递归的终止条件(即如何停止递归),否则递归将永无止境的进行下去。 程序一般调用 程序递归调用 Pascal语言中的向前引用 二、递归算法用于解决的问题 一般来说,能够用递归解决的问题应该满足以下三个条件: 需要解决的问题可以化为一个或多个子问题来求解,而这些子问题的求解方法与原来的问题完全相同,只是在数量规模上不同; 递归调用的次数必须是有限的; 必须有结束递归的条件(边界条件)来终止递归。 二、递归算法用于解决的问题 可用递归解决的具体问题: 数据的定义形式是按递归定义的。如阶乘。 问题的解法按递归算法实现。如回溯算法。 数据结构的形式是按递归定义的。如树的遍历。 三、递归算法的执行过程 三、递归算法的执行过程 在递归调用之前,系统需完成三件事: 为被调用过程的局部变量分配存储区; 将所有的实在参数、返回地址等信息传递给被调用过程保存; 将控制转移到被调过程的入口。 从被调用过程返回调用过程之

文档评论(0)

1亿VIP精品文档

相关文档