PMChap8递归程序设计及其正确性证明(阅读).pptVIP

  • 3
  • 0
  • 约1.54万字
  • 约 68页
  • 2016-12-11 发布于重庆
  • 举报

PMChap8递归程序设计及其正确性证明(阅读).ppt

第8章 递归程序设计及其正确性证明 1. 概述 2. 递归程序的正确性证明 3. 递归程序向非递归程序的转换 4. 函数型程序设计简介 8.1 概述 1. 迭代与递归 递归的概念 一个函数、过程或者数据结构,如果在他们的定义内部又出现了定义本身的应用, 则称这个函数、过程或者数据结构是递归的,或者是递归定义的. 直接递归:若程序P包含着对自己的引用,则称为是直接递归的 间接递归:若程序P包含着对另一程序Q的引用,而Q又直接或间接地引用P,则称为间接递归。 例: 8.1 概述 递归的概念(续) int fact(int n) { if (n=0) return 1; else return n*fact(n-1); } 8.1 概述 递归实质是一种循环结构,他把较复杂情形的计算逐次地归结为“较简单”情形的计算,一直归结到“最简单”情形的计算,并得到计算结果为止。 每个迭代程序原则上总可以转换成与它等价的递归程序;反之不然,并不是每个递归程序都可以转换成与他等价的迭代程序。 递归程序的效率(时间和空间效率)比迭代程序低。 递归程序较容易理解和阅读、实现直观 8.1 概述 2. 递归程序的一种模型 一种简化的函数递归程序模型的一般形式如下: F(x1,x2,…,xn) ? if p1 then E1 else if

文档评论(0)

1亿VIP精品文档

相关文档