- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.向量、栈和队列b
目标 了解递归方法 理解递归的栈实现 熟悉队列概念和基本操作 掌握队列的实现及其应用 递归与栈 递归:用自身的简单情况来定义自己的方式 较大规模的问题可以用较小规模的子问题描述 递归出口:递归的终结定义 存在可直接求解的最小子问题 递归与栈 Hanoi塔问题 传说古代印度婆罗门庙里有一个塔台,台上有3根用钻石做成的柱子A,B,C。在A柱上放着64个金盘,每一个都比下面的略小一点。把A柱上的金盘全部移到C柱上的那一天就是世界的末日。 移动规则:一次只能移动一个金盘;移动过程中大盘不能放在小盘上面。 这种移动一共要进行264-1次,如果每秒移动一次,需要5000多亿年。 Hanoi塔问题 Hanoi塔问题 问题分解: 第1个子问题是把n-1个盘子从A柱移到B柱,这其实是一个n-1阶的汉诺塔问题; 第2个子问题是把最大的盘子从A柱移到C柱; 第3个子问题是把n-1个盘子从B柱移到C柱,这也是一个n-1阶的汉诺塔问题。 Hanoi塔问题 Hanoi塔问题 递归过程的实现 递归的计算机实现要解决两个关键问题: 调用子过程 返回子过程结果 调用子过程: 保存调用信息(实参、返回地址、局部变量) 分配被调过程数据区 把控制转移到被调过程的入口 返回子过程结果: 保存返回信息(计算结果) 释放被调过程的数据区 把控制按返回地址转移到调用过程中去 递归过程的实现 递归过程的实现 递归过程的实现 递归效率分析 递归方程求解-Hanoi塔 递归效率分析 递归效率分析 递归树方法-Hanoi塔 想一想? 生活中的队列应用 银行排队存取款,“先到先服务” 。 杂货店商品放置原则:新商品-后排。 乘坐公共汽车,应该在车站排队,车来后,按顺序上车。 计算机中的队列应用 队列在程序设计中的一个典型应用例子是作业排队问题。 例,在一个局域网上有一台共享的网络打印机. 队列 队列也是一种操作受限的线性表,规定 插入在表的一端(队尾rear), 删除在队的另一端(队头front), 队列又称为先进先出表(FIFO). 队列数据 队列操作 初始化队列 入队 出队 判空 判满 显示队列 队列实践作业 写一个队列测试主函数 根据键入的数字,实现如下选项功能 1. 建队 2. 入队 3. 出队 4. 显示 5. 退出 优先队列 优先队列特点 入队操作: 在队尾插入(与队列相同); 出队操作: 在队列中找到优先级最高的元素,然后出队. 应用:(实时)操作系统作业调度 应用:堆排序 优先队列-出队 栈与队列综合应用-球钟 球钟(Ball Clock)是一个利用球的移动来记录时间的简单装置。它有三个可以容纳若干个球的指示器:分钟指示器,五分钟指示器,小时指示器。若分钟指示器中有3个球,五分钟指示器中有7个球,小时指示器中有8个球,则时间为8:38。 球钟 球钟工作原理 分钟指示器最多可容纳4个球.每过1分钟,球钟从球队列队首取出1个球放入分钟指示器,当放入第五个球时,在分钟指示器的4个球会按相反方向返回球队列的队尾,而第五个球就会进入五分钟指示器. 按此类推,五分钟指示器最多可放11个球,小时指示器最多可放11个球. 当小时指示器放入第12个球时,原来的11个球返回球队列的队尾,然后第12个球也回到队尾.这时,三个指示器均为空,回到初始状态,从而形成一个循环.因此,球钟表示时间的范围是从0:00到11:59. 球钟问题 现设初始时球队列的球数为x(27≤x≤127),球钟的三个指示器初态均为空。问要经过多少天(每天24小时),球钟的球队列才能回复原来的顺序? 编写计算x个球需要多少天的算法(函数)。 测试程序:从键盘输入球数x,答案用整数形式输出到屏幕。 球钟问题 数据结构 3个栈:分钟,五分钟,小时 1个队列:剩余球队列 球钟问题 球钟问题 球钟问题 球钟问题 本章小结-顺序表 表、栈、队列是三种最基本的数据结构 广泛用途:调度、表达式求值、数制转换、递归实现等等。 本章小结-顺序表 表、栈、队列是三种最基本的数据结构 广泛用途:调度、表达式求值、数制转换、递归实现等等。 本章小结-顺序表 表、栈、队列是三种最基本的数据结构 广泛用途:调度、表达式求值、数制转换、递归实现等等。 本章小结-顺序表 数据结构定义 typedef struct{ … }List; 数据基本操作 表:创建空表,插入,删除,显示 栈:创建空栈,入栈,出栈,取栈顶元素,显示 队列:创建空队列,入队,出队,取队首元素,显示 主程序main 问题的算法实现,涉及调用基本操作(测试) 演示 注:下周一实践上机时间,16306 ElemType dePQueue(Queue *Q){ //出队 if (!isEmpty(Q)){ int i,
您可能关注的文档
- 基于RoboticsToolbox挖掘机工作装置的运动仿真_黄德银.pdf
- solidworks第3章 特征生成.ppt
- 6第六章+复制与特征库.ppt
- 13春《国际商法》作业2.docx
- MASTERCAM9.1车床编程学习心得.doc
- 2009 新制度税法真题.doc
- 17地震中的父与子课件2.ppt
- 1.3地球的运动(自转和公转)(B).ppt
- 2012一级建造师市政模拟试卷(二).doc
- 2011年高考英语第一轮知识点梳理复习15(book3).ppt
- 专题05反比例函数【六大题型】2024~2025学年九年级数学上学期期中真题分类汇编(北京专用,北京版)(1).pdf
- 专题03直线与圆的位置关系(16大类型提分练+30道压轴题)2024~2025学年九年级数学上学期期中真题分类汇编.pdf
- 专题05圆(5大基础题+3大提升题)2024~2025学年九年级数学上学期期中真题分类汇编(重庆专用).pdf
- 基于代谢网络解析细菌生长规律:理论、模型与应用.docx
- 信息加工视角下社会网络与创业者特质对创业风险识别的影响机制探究.docx
- 数字时代下绍兴电子政务公开的实践与探索.docx
- 银行理财顾客感知风险与利益对顾客忠诚的影响机制及策略研究.docx
- 通衢致远:咸阳市公路交通运输对区域经济发展的贡献剖析.docx
- 城乡养老保险制度衔接的困境与出路.docx
- 基于多元视角的黄石“平安城市”视频监控项目投资效益剖析.docx
最近下载
- 2024年全国眼视光行业眼镜验光员技能大赛理论参考试题库(含答案).pdf VIP
- 2025年11课《种树郭橐驼传》理解性默写练习(附参考答案) .pdf VIP
- 21个行业审核作业指导书.doc VIP
- 医院加强信息化建设 提高信息化水平工作情况四篇.docx VIP
- 《从局部抗战到全面抗战》部优教学设计.doc VIP
- 施耐德 ATV320 安全功能手册.pdf VIP
- 汉钟压缩机调试技术-hanbell.ppt VIP
- powmax国迈变频器POWSD-E3 交流伺服驱动器随机手册V17.pdf VIP
- 疫源地消毒总则gb19193-2015.docx VIP
- ASTM F1224-89(2004)E1 美国材料与试验协会标准.pdf VIP
文档评论(0)