第5章-递归(高级程序设计).ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章-递归(高级程序设计)

本章主要内容: 1、递归的概念:什么是递归,种类,及递归求解方法 2、递归过程的机制与利用递归工作栈实现递归的方法 3、利用递归解决问题的分治法和回溯法 3、迷宫问题的递归思路及利用栈实现的非递归解法 本章重点:递归的基本概念及其算法设计。 本章难点:递归模拟及其分析。;6.1递归的概念 定义: 若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的;而且一个过程直接地或间接地调用自己,则称这个过程是递归的过程。;6.2递归算法及其执行过程 (1)用于某些概念的定义: 阶乘: if ( n0 ) n ! = n ( n-1 ) ! if ( n=0 ) n ! = 1 单链表结点: struct node{ datatype data struct node * Link; } 二叉树:二叉树是数据元素的有穷集合,它或者为空集(空二叉树),或者由一个根元素和其下的两棵互不相交??二叉树(左子树和右子树)构成。; 递归算法的一般形式: void p (参数表) { if (递归结束条件)可直接求解步骤;-----基本项 else p(较小的参数);------归纳项 } ;二分查找;用递归函数实现上述查找: 定义递归函数binsrch(s,r,x) ,s是所要有哪些信誉好的足球投注网站数列的起始下标,r是终止下标,x为所要有哪些信誉好的足球投注网站的值。在binsrch函数中实现这样的功能:首先查找a[m=(n+1)/2]和x的关系。如果xam ,那么就递归调用binsrch(m+1,r,x),否则如果x am 那么就递归调用binsrch(r,m-1,x),否则如果x= am ,那么就输出当前m的值,并返回,再否则就返回-1,代表数列中没有与x相等的数。;6.3 递归算法的设计方法;例 Hanoi问题;运行结果: ⑴ 只有一个盘子的情况:(最简1步) Input the number of disks: 1 The step to moving 1 disks ⒈A----C ⑵ 有二个盘子的情况:(最简3步) Input the number of disks: 2 The step to moving 2 disks ⒈A----B ⒉A----C ⒊B----C;6.4 递归过程与运行时栈

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档