- 1、本文档共63页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
void main() { HuiWen(“ABCDEDCBA” ); HuiWen(“123abcabc321”); } main ( ) { ? f=fac(3); ? } fac(3) { ? f=3.fac(2); return f; } fac(2) { ? f=2?fac(1); return f; } fac=3! n=4 n=3 fac=2! fac(1) { ? f=1?fac(0); return f; } fac(0) { ? return 1; ? } n=1 fac=1 n=2 fac=1! 堆栈变化: 3, addr1 2, addr2 3, addr1 2, addr2 1, addr2 3, addr1 2, addr2 1, addr2 0, addr2 3, addr1 2, addr2 1, addr2 ….. Main?fac(3) fac(3)?fac(2) fac(2)?fac(1) fac(1)?fac(0) fac(1) 3, addr1 递归算法的效率分析 若循环方式的算法和递归方式的算法均能求解某问题时,通常循环方式算法的时间与空间效率均比递归方式算法要高很多。 如:n阶乘递归算法的时间复杂度与空间复杂度均为O(n),而非递归算法的空间复杂度为O(1),时间复杂度虽仍为O(n),但常数因子要小许多。 long fac( int n ) { // 求n阶乘的非递归算法,设n是大于等于0的正整数 int i; long f=1; for ( i=2; i=n; i++) f = f*i; return f; } 三、递归算法的设计方法 递归既是一种有效的分析问题的方法,也是一种有效的算法设计方法。 设计递归算法的方法: 把对原问题的求解设计成包含对子问题求解的形式; (即较复杂的问题转换为较简单的问题) 设计递归出口; (简单到一定程度,直接给出结果) 例:汉诺(hannoi)塔问题 问题描述: 设有三根标号为A,B,C的柱子,在A柱上放n个盘子,每个盘子都比下面的略小一点,要求把A柱上的盘子全部移到C柱上,移动规则是: 一次只能移动一个盘子; 移动过程中大盘子不能放在小盘子上面; 在移动过程中盘子可以放在A,B,C的任意一个柱子上。 算法描述: void Towers( int n, char a, char b, char c ) { // 把n个盘从a移到c, b为辅助 if (n == 1) printf(“%c ? %c\n”, a, c); else { Towers( n-1, a, c, b ); printf( “%c ? %c\n”, a, c ); Towers( n-1, b, a, c ); } } 算法复杂度分析: 令把n个盘按规则移动所需的时间为:T(n),则 1 若 n=1 T(n) = 2T(n-1) + 1 其他情形 解上面的递推方程可得: T(n) = O(2n) 一、队列的基本概念: 队列也是一种操作受限的线性表,只允许在表的一端进行插入(表尾),在表的另一端进行删除(表头)。 术语:队头、队尾、进(入)队列、出(离)队列、空队列。 a1 a2 an ??? 队头 队尾 出队列 进队列 先进先出(FIFO)的线性表 4.7 队列 二、队列的抽象数据类型的定义: ADT QUEUE is Data: n (n=0) 个相同类型数据元素a1, a2, …, an 构成的有限序列。用类型名 QueueType 表示。 Operation:: : void InitQueue (QueueType Q); //构造一个空队列 Q int EmptyQueue (QueueType Q); //判断队列Q是否为空 vo
您可能关注的文档
- 数据挖掘原理算法与应用教学作者梁亚声第7章节电子教案课件幻灯片.ppt
- 数据挖掘原理算法与应用教学作者梁亚声第8章节电子教案课件幻灯片.ppt
- 数据挖掘原理算法与应用教学作者梁亚声第9章节电子教案课件幻灯片.ppt
- 学反应中的热量2015章节幻灯片.ppt
- 学科带头人的科学研究能力与研究方法145642课件幻灯片.ppt
- 学科课程教师培训班第3章幻灯片.ppt
- 学科课程教师培训班第4章幻灯片.ppt
- 数据挖掘在电信的应用课件幻灯片.ppt
- 学科课程教师培训班第5章幻灯片.ppt
- 数据挖掘在电子商务中的应用课件幻灯片.ppt
- 中国国家标准 GB/T 45133-2025气体分析 混合气体组成的测定 基于单点和两点校准的比较法.pdf
- 《GB/T 45133-2025气体分析 混合气体组成的测定 基于单点和两点校准的比较法》.pdf
- 中国国家标准 GB/T 43707-2025科学数据溯源元数据.pdf
- 《GB/T 43707-2025科学数据溯源元数据》.pdf
- GB/T 43707-2025科学数据溯源元数据.pdf
- GB/T 43710-2025科学数据安全审计要求.pdf
- 中国国家标准 GB/T 43710-2025科学数据安全审计要求.pdf
- 《GB/T 43710-2025科学数据安全审计要求》.pdf
- 中国国家标准 GB/T 45222-2025食品安全事故应急演练要求.pdf
- GB/T 45222-2025食品安全事故应急演练要求.pdf
文档评论(0)