- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用数据结构基础 第4章 队列 第4章 队列 知 识 点 队列的定义和特点 队列的存储实现及运算实现 队列的应用举例 难 点 循环队列的特点及判断溢出的条件 利用队列的特点设计相关的应用问题 要 求 熟练掌握以下内容: 队列的特点和基本运算 循环队列的特征和基本运算 了解以下内容: 队列运算的时间复杂性分析 队列的实际应用 第 4 章 目录 4-1 队列的定义和基本运算 4-2 队列的存储及运算的实现 4-3 队列的应用举例 小 结 验证实验4: 队列子系统 自主设计实验4:循环队列的实现和运算 单元练习4 4-1 队列的定义和基本运算 4-1-1 队列(Queue)的定义 1.队列的定义 ????? 设有n个元素的队列Q=(a1,a2,a3,…,an),则称a1为队首元素,an为队尾元素。队列中的元素按,a1,a2,a3,…,an–1 ,an的次序进队,按a 1,a2,a3,…,an–1 ,an次序出队,即队列的操作是按照“先进先出” 的原则进行的。 2. 队列的特性 (1)队列的主要特性是“先进先出”。 (2)队列是限制在两端进行插入和删除操作的线性表。 能够插入元素的一端称为 队尾(Rear),允许删除元素的一端称为 队首(Front)。 (3)循环队列数据类型: #define MAXLEN 10 typedef struct { int data[MAXLEN]; // 定义数据的类型及数据的存储区 int front,rear; // 定义队头、队尾指针 }csequeue; (4)入队作业处理的预计执行时间可以用产生数函数rand()产生,也可以从键盘输入。 3.实验要求 (1)利用C或C++语言完成算法设计和程序设计。 (2)上机调试通过实验程序。 (3)输入数据,检验程序运行结果。 (4)给出具体的算法分析,包括时间复杂度和空间复杂度等。 (5)撰写实验报告。 单元练习4 在优先队列中的每一个元素都有一个被称为权的数据项,权的大小决定了元素的优先级。实现优先队列有两种方法: (1)按权的大小进行插入,使整个队列始终保持按优先级次序排列的状态,而删除操作则和普通队列一样,只删除队首元素。 (2)插入操作和普通队列一样,只在队尾进行插入,而删除操作则是根据元素的优先级来进行的,即只能删除优先级最高的元素。 限于篇幅,有关优先队列具体算法的实现,在此不作介绍了。 4.双队列(Double-ends Queue) 操作系统的工作调度所采用的则是双队列,这种队列的两端都可以存取数据,其结构如图4-7所示。 取出 取出 存入 存入 图4-7 双队列结构 如果将图4-7切成左、右两部分,则成了两个独立的栈,所以双队列就是将两个栈的栈底结合起来而构成的。与队列相同的是双队列也需要两个指针分别指向结构的两端。CPU的调度在多人使用的计算机系统中是一种重要的概念,其调度的方法也可分为:输入限制性双队列和输出限制性双队列等形式。 输入限制性双队列由双向队列数据输入、从队头输出数据、从队尾输出数据三部分组成,可以由用户按照提示自由选择“从队头输出”或“从队尾输出”,以模拟各种可能的输出结果。 (1)向队列数据输入InQueue( ) void InQueue(int val) // 输入队列数据 { rear=(rear++)%MAXLEN; if(front==rear) printf(队列已满!); else queue[rear]=val; } (2)?队头输出数据 OutQueue_front( ) int OutQueue_front() // 从队头输出队列数据 {int t; if(front==rear) return -1; t=queue[++front]; if(front==MAXLEN) front=0; return t; } (3)从队尾输出数据 OutQueue_rear( ) int OutQueue_rear() // 从队尾输出队列数据 {int t; if(front==rear)
您可能关注的文档
- 计算机网络通信 第一章-概述.ppt
- 计算机维护与维修4.ppt
- 计算机应用基础-数据在计算机中的表示.ppt
- 计算机组成原理2-数据表示.ppt
- 计算机组成原理课件第三章计算机中的数据表示.ppt
- 计组第1章-1系统-070905.ppt
- 技术人才培养模式.ppt
- 教育技术培训平台各模块讲解.doc
- 教育技术学专业英语词汇.doc
- 九年级下周周练——说明文阅读.doc
- 海水提硼吸附材料技术创新与海洋资源可持续利用分析报告.docx
- 医疗健康行业报告:2025年在线问诊服务模式创新与市场拓展.docx
- 海水提硼吸附材料技术创新在海洋环境监测与评估中的应用.docx
- 金融机构理财产品策略规划与2025年市场风险分析与应对策略报告.docx
- 海水提硼吸附材料技术创新在海洋资源开发中的应用前景.docx
- 钢铁行业绿色制造技术2025年应用案例分析研究报告.docx
- 2025-2026学年小学英语人教PEP版一起2024二年级下册-人教PEP版(一起)(2024)教学设计合集.docx
- 2025年零售门店商品销售数据驱动渠道创新报告.docx
- 海水提硼吸附材料技术创新在海洋环境保护与治理中的应用实践.docx
- 红色旅游行业市场细分领域分析:2025年市场前景与未来五年趋势报告.docx
文档评论(0)