- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
_栈和队列
栈与递归:求阶乘 主程序 main( ): fact(4) 参数传递 递归调用 结果返回 回归求值 fact(4): fact(3): fact(2): fact(1): fact(0): 1 直接定值为1 计算 4*fact(3) 计算 3*fact(2) 计算 2*fact(1) 计算 1*fact(0) 1 2 6 24 以主程序中调用FACT(4)为例: n: 4 控制链返回地址 第1次调用fact时的活动记录 x: 4 主程序main的活动记录 栈生长方向 栈生长方向 n: 4 控制链返回地址 第1次调用fact时的活动记录 x: 4 主程序main的活动记录 n: 3 控制链返回地址 第2次调用fact时的活动记录 计算阶乘时的运行栈 计算阶乘时的运行栈 栈生长方向 n: 4 控制链返回地址 第1次调用fact 时的活动记录 x: 4 主程序main 的活动记录 n: 3 控制链返回地址 第2次调用fact 时的活动记录 n: 2 控制链返回地址 n: 1 控制链返回地址 第3次调用fact 时的活动记录 第4次调用fact 时的活动记录 自由空间 1! = 1 2! = 2*1! = 2 3! = 3*2! = 6 4! = 4*3! = 24 栈与递归:Hanio Tower问题 源于印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。 如果以1秒一次移动每个金片的话,移完这些金片需要5845亿年以上,而地球存在至今不过45亿年,太阳系的预期寿命据说也就是数百亿年。 栈与递归:Hanio Tower问题 问题求解是递归的—Hanoi塔void hanoi(int n, char a, char b, char c) n-圆盘数 a-源塔座 b-中介塔座 c-目标塔座 搬动方法 n=1, a-c n1:hanoi(n-1, a, c, b)a-chanoi(n-1, b, a, c) 注意用递归调用的结果,不关注 该结果如何获得的细节 1:n 1:n-1 n n 1:n-1 1:n f(n) f(n-1) f(n-1) 1 f(n)=2*f(n-1)+1, with f(1)=1; f(n)=2^n-1(组合爆炸性问题) 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 将十进制数转换为指定数制的数,此过程可以采用求余法进行,用这个十进制数作为被除数,用指定的数基作除数,连续求余,得出的余数依由个位到十位等的顺序组成新数,即得指定数制的数。 * 中缀表达式:运算符放在两个运算对象中间; 在中缀表达式的情况下求值,既要考虑括号,优先级,还要考虑操作出现的先后顺序。但是,作为计算机,其计算过程就显的比较复杂,对于一个中缀表达式,需要不停地对表达式进行多次遍历,来查找相应的计算的信息。这样从算法复杂度上来说,是不可取的。后缀表达式:不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则,如:2 1 + 3 * * 求解迷宫问题的简单方法是:从入口出发,沿某一方向进行探索,若能走通,则继续向前走;否则沿原路返回,换一方向再进行探索,直到所有可能的通路都探索到为止。为避免走回到已经进入的点(包括已在当前路径上的点和曾经在当前路径上的点),凡是进入过的点都应做上记号。 * 求解迷宫问题的简单方法是:从入口出发,沿某一方向进行探索,若能走通,则继续向前走;否则沿原路返回,换一方向再进行探索,直到所有可能的通路都探索到为止。为避免走回到已经进入的点(包括已在当前路径上的点和曾经在当前路径上的点),凡是进入过的点都应做上记号 * 递归最大的优势就是,代码更简洁清晰,逻辑性强,可读性更好。当然递归函数也有自身缺点,突出缺陷是在调用自身函数时不停开辟存储空间,在占用存储空间的同时又耗费时间,简而言之,大量占用资源
您可能关注的文档
- 概率论与数理统计_7.1_点估计与最大似然估计分析.ppt
- 概率论6-1分析.ppt
- [生理学]血液().ppt
- [精]化学《化学反应原理》全册复习课件(人教选修)(NXPowerLite).ppt
- 概率论与数理统计习题集及答案分析.doc
- 概率论1-1分析.ppt
- 植物调查报告-武钰皓分析.ppt
- [精品]毕博咨询为某公司制作的kpi管理体系的最终文件.ppt
- [第七细胞信号转导].ppt
- 概率论与数理统计公式整理(超全免费版)分析.doc
- 2025年安徽工商职业学院单招职业技能测试题库带答案(典型题).docx
- 2025年洛阳科技职业学院单招职业技能测试题库带答案(新).docx
- 2025年荆门职业学院单招职业技能测试题库及答案(易错题).docx
- 2025年宣化科技职业学院单招职业技能测试题库(精练).docx
- 2025年包头职业技术学院单招职业技能测试题库带答案(新).docx
- 2025年江西工商职业技术学院单招职业技能测试题库带答案(精练).docx
- 2025年黑龙江农业经济职业学院单招职业技能测试题库精编.docx
- 2025年山东艺术设计职业学院单招职业技能测试题库带答案(基础题).docx
- 2025年陕西工商职业学院单招职业技能测试题库带答案(突破训练).docx
- 2025年承德护理职业学院单招职业技能测试题库【word】.docx
文档评论(0)