




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题目:优先队列与堆问题描述 假设某医生看病人的顺序是由病人的病情严重程度来决定。护士按照所有病人来医院的时间顺序给病人编号ID,依次为1,2,3,n;并且根据病人的病情严重程度设置Priority值,病越重,Priority的值越小。当医生开始工作时,护士根据病人的Priority值,由小到大依次安排病人看病。试为护士编写程序安排病人看病的先后次序。 基本要求 (1) 利用最小值堆实现一个优先队列。 (2) 对于优先队列应该支持如下操作:初始化队列的init操作;获得队列中元素个数的size操作;判定队列是否为空的empty操作;获得队列中最优先的元素的值的top操作;向队列中插入一个元素的p
2、ush操作;删除队列中最优先的元素的pop操作。 (3) 利用优先队列存入所有病人的信息(编号和病情严重程度)。最后利用优先队列获得病人看病的次序。 测试数据:输入:1 15 2 3 3 5 4 20 5 10 1 1 输出 :2 3 5 1 4 实现提示 (1) 最小值堆采用数组作为物理存储结构,每个元素是一个结构体变量,包含编号ID和病情严重程度Priority值。 (2) 用户录入1 1表示输入结束。 实验分析:优先级队列是这样的一种数据结构,对它的访问或者删除操作只能对集合中通过指定优先级方法得出的最高优先级元素进行。优先级队列是公平的,对于任何两个具有相同优先级的元素,首先被删除的是
3、那个在队列中存在时间最长的元素。如果元素是Int类型且按照其排列的顺序进行比较,那么具有最高优先级的元素就是优先级队列中相应的int值最小的那个元素。如果元素是Int类型,但是比较方法与原排列顺序相反,那么具有最高优先级的元素就是优先级队列中相应的int值最大的元素。到底是最小的还是最大的元素优先。实质上堆可用来实现优先级队列,或者说堆就是一种优先级队列。由于堆的添加元素与删除元素时都会破坏堆结构,所以添加与删除进都要进行结构调整。一般普通的队列添加是在最后加入,但优先级队列却不一定添加到最后,他会按照优先级算法把它插入到队列当中去,出队时还是从第一个(也即最小元素,优先级最高)开始,即取根元
4、素,这样保证了队列中优先级高的先服务,而不是先来先服务了。Heap类是对接口的一种高效实现。堆是一种完全二叉树。由于使用基于数组的完全二叉树的表示,可以根据子节点的索引快速计算出你父节点的索引,反之亦然,所以,使用数组来表示堆,它是利用了数组可以根据给定索引随机访问元素的特性。实验结果:实验代码:#include using namespace std; class HEAP /定义堆 public: int IDnum; int priority; void operator=(HEAP& temp)IDnum=temp.IDnum;priority=temp.priority; ; voi
5、d sift(HEAP* a,int i,int n) /筛选int j; HEAP t; t=ai; while(j=2*i+1)n) if(jn-1&aj.priorityaj+1.priority) j+; if(t.priority=0;i-) sift(a,i,n); for(i=n-1;i 0;i-) p=a0; a0=ai; ai=p; sift(a,0,i); void push(HEAP* a,int& num,int IDnum,int priority) /将元素压入栈 anum.IDnum=IDnum; anum+.priority=priority; void pop(HEAP* a,int& num,int& ID) /出栈 ID=a0.IDnum; for(int i=0;i IDnum priority; if(IDnum=-1) break; push(h,num,IDnum,priority
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药物治疗实验研究进展
- 蜱虫叮咬治疗
- 皮下出血护理规范
- 成都2025年成都市简阳市所属事业单位选调10人笔试历年参考题库附带答案详解
- 哈尔滨2025年哈尔滨“丁香人才周”(春季)通河县事业单位招聘工作笔试历年参考题库附带答案详解
- 2025至2031年中国松香基助焊剂行业投资前景及策略咨询研究报告
- 生命与疾病传统认知方法保护AI应用企业制定与实施新质生产力项目商业计划书
- 电竞场馆行业深度调研及发展项目商业计划书
- 奇幻冒险自媒体企业制定与实施新质生产力项目商业计划书
- 2025至2031年中国大型地球仪行业投资前景及策略咨询研究报告
- 电路分析基础(浙江大学)知到智慧树期末考试答案题库2025年浙江大学
- 全球经济2025年全球经济与贸易师考试试题及答案
- 2024 - 2025学年一年级下册道德与法治期末考试卷附答案
- 2024年湖南高中学业水平合格性考试地理试卷真题(含答案)
- 学校大型活动组织流程
- 2025猪蓝耳病防控及净化指南(第三版)
- 【课件】Unit+8+Section+B+(1a~2b)课件人教版(2024)初中英语七年级下册
- 浙江建筑b证试题及答案
- 2025年高考政治抢押秘籍(江苏专用)时政热点05延迟法定退休年龄改革(学生版+解析)
- 落户咨询服务合同协议
- 职务转让协议书范本
评论
0/150
提交评论