- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                
数据结构课程实验指导书 
题     目:  优先队列与堆 
学生姓名  :  李楠    20100820210 李双   20100820211 李桐 20100820212 
专业班级  :  通信工程二班 
背景 
    优先级队列(      priority queue )就是遵循两个排序规则的集合。首先,具有高优先级的项 
目在先。第二,具有相同优先级的项目使用先进先出方法来确定其排序。 
    用到优先队列的地方:凡是需要取出集合中最值元素的地方。 
        构建霍夫曼编码 
        构建霍夫曼编码需要找到结点集合中频率最小的两个结点。                         然后合并结点插入到集 
        合。依次循环。 
        一些任务调度算法 
        比如操作系统中线程调度算法,             有的是按照优先级来调度的,             每次都执行优先级最 
        高的线程。 
        合并  n 个有序文件为一个有序文件。 
        首先把    n 个有序文件的第一个元素都提取出来,               放入优先队列中,        然后取出最小的 
        元素。然后再插入元素到优先队列,在取出最小元素。 
        由于优先队列内部一般是采用堆实现的,                 所以, 所有适用于堆得算法,            都适用于优 
        先队列。比如,排序,找中位数,找最大的                   K 个数等。 
    可以以很多方式实现优先队列,              比如链表、 二叉查找树。  但从时空复杂度优化的角度来 
看,对于优先队列最普遍的实现是堆。堆的意义就在于:最快的找到最大                                / 最小值,在堆结 
构中插入一个值重新构造堆结构,取走最大                    / 最下值后重新构造堆结构,其时间复杂度为 
O(logN) ,而其他方法最少为        O(N) 。 
问题描述 
    假设某医生看病人的顺序是由病人的病情严重程度来决定。                         护士按照所有病人来医院的 
时间顺序给病人编号          ID ,依次为   1,2 ,3,… ,n ;并且根据病人的病情严重程度设置                Priority 
值,病越重,  Priority  的值越小。当医生开始工作时,护士根据病人的                     Priority 值,由小到大 
依次安排病人看病。试为护士编写程序安排病人看病的先后次序。 
一、需求分析 
    1. 本程序要求采用利用最小值堆实现一个优先队列。 
    2. 利用优先队列存入所有病人的信息(编号和病情严重程度)                          。最后利用优先队列获 
       得病人看病的次序。 
    3. 在 Dos 界面输出病人看病的次序。 
    4 . 测试数据 
    输入 
        1   15 
        2   3 
        3   5 
        4   20 
        5   10 
        -1   -1 
    输出 
        2 
        3 
        5 
                                    -  1 - 
数据结构课程实验指导书 
          1 
          4 
二、概要设计 
     抽象数据类型 
     为实现上述程序的功能,应以整数存储用户的输入,以及计算出的结果。 
     算法的基本思想 
     根据用户输入利用数组结构建树的方法建立最小值堆。 
     程序的流程 
     程序由三个模块组成: 
      (1)    输入模块:完成多组两个正整数的输入,存入结构体                                   heapnode (堆结点)中。 
      (2 )   计算模块:将用户的输入存入堆结点中利用                             siftdown  函数调整为最小值堆。 
      (3)    输出模块:屏幕上显示最小值排序。 
三、详细设计 
     物理数据类型 
     typedef struct heapnode // 堆
                您可能关注的文档
- 用语文手段解决语文问题实用.pdf
 - 用指针优化学生成绩排名定义.pdf
 - 用智慧之爱引导学生——结合《爱的智慧与教育》与案例谈体会实用.pdf
 - 用自家电脑做服务器整理.pdf
 - 用字母表示数___听课体会参考.pdf
 - 用字母表示数案例分析[1]实用.pdf
 - 用字母表示数单元测试卷参考.pdf
 - 用字母表示数练习题分享.pdf
 - 用字母表示数预习案参考.pdf
 - 优试题(新)-GSM网优复习题库V1.O单选(GPRS&EDGE)归类.pdf
 
- 2025年贵州省六盘水市五年级政治上册期中考试试卷及答案.docx
 - 2025年四川省巴中市高一生物上册期中考试试卷及答案.docx
 - 2025年贵州省安顺市六级政治上册期中考试试卷及答案.docx
 - 2025年四川省巴中市九年级地理上册期中考试试卷及答案.docx
 - 2025年四川省巴中市九年级数学上册期中考试试卷及答案.docx
 - 2025年贵州省毕节市初一道德与法治上册期中考试试卷及答案.docx
 - 2025年贵州省毕节市高一地理上册期中考试试卷及答案.docx
 - 2025年贵州省毕节市九年级数学上册期中考试试卷及答案.docx
 - 2025年四川省成都市初三道德与法治上册期中考试试卷及答案.docx
 - 2025年四川省成都市高二化学上册期中考试试卷及答案.docx
 
最近下载
- UltrasonE,S,P(聚醚砜、聚砜、聚苯砜).pdf VIP
 - 2022三年级教师年度述职报告(7篇).docx VIP
 - 关于宪法的教学课件.ppt VIP
 - 英文NVIDIA-面向下一代AI基础设施的800 VDC架构.pdf
 - 学生常见心理问题识别与处理(共48张课件).pptx VIP
 - 水喷雾灭火系统检测报告.docx VIP
 - 10月份最新热点时事素材!(新闻话题+作文运用+时评).doc VIP
 - 人像摄影摆姿指南与摆姿策略PPT.pptx VIP
 - 医院临床应急演练流程脚本.docx VIP
 - 人教版2024--2025学年度第一学期一年级数学上册期末测试卷及答案(含四套题).doc VIP
 
原创力文档
                        

文档评论(0)