华中科技大学数据结构课程设计

华中科技大学数据结构课程设计

ID:1461627

大小:536.50 KB

页数:33页

时间:2017-11-11

华中科技大学数据结构课程设计_第1页
华中科技大学数据结构课程设计_第2页
华中科技大学数据结构课程设计_第3页
华中科技大学数据结构课程设计_第4页
华中科技大学数据结构课程设计_第5页
资源描述:

《华中科技大学数据结构课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、华中科技大学计算机科学与技术学院课程设计报告课程设计报告题目:基于堆的优先级队列ADT实现及其应用课程名称:专业班级:学号:姓名:指导教师:报告日期:2016年2月25日计算机科学与技术学院华中科技大学计算机科学与技术学院课程设计报告任务书设计内容传统队列是一种符合先插入的元素必须先删除(FIFO)的处理逻辑,这不总是满足应用要求;很多时候需要优先级高的任务先处理(即后插入的可能先删除)。(1)基于堆的概念设计优先级队列(PriorityQueue)抽象数据类型,至少包含Init_PriorityQue,Destroy_PriorityQue,Clear_PriorityQue,Prio

2、rityQue_Insert,PriorityQue_DeletMin,PriorityQue_Empty,PriorityQue_Full等操作;(2)选择适当的物理存储结构实现优先级队列ADT;(3)应用优先级队列ADT设计与实现一个医院门诊医师与病人看诊服务事件仿真程序,使医师服务效率尽量高。设计要求(1)仿真事件(如病人到达,病情复杂度/就诊时间,病人离开等)可根据某种概率分布或随机模型生成。(2)要求对各种算法进行理论分析,同时也对实测结果进行统计分析。测试数据要求有一定规模。(3)要求界面整洁、美观,操作方便。参考文献[1]严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学

3、出版社,1997[2]严蔚敏,吴伟民,米宁.数据结构题集(C语言版).北京:清华大学出版社,1999[3]MarkAllenWeiss.DataStructuresandAlgorithmAnalysisinC,机械工业出版社,2010,177-192II华中科技大学计算机科学与技术学院课程设计报告目录任务书I1引言11.1课题背景与意义11.2课程设计的主要研究工作12系统需求分析与总体设计22.1系统需求分析22.2系统总体设计23系统详细设计33.1有关数据结构的定义33.2主要算法设计44系统实现与测试114.1系统实现114.2系统测试145总结与展望185.1全文总结185.

4、2工作展望186体会19附录20II华中科技大学计算机科学与技术学院课程设计报告1引言1.1课题背景与意义数据结构这门课对计算机专业的学生来说其重要性是毋庸置疑的。不管是在后续的学习还是在今后的工作中,都会经常用到各种数据结构类型,去存储和处理大量的数据。这次课程设计,意在让我们运用所学的数据结构知识,采用优先级队列数据结构去存储病人的就诊信息,模拟医院医生叫号的系统。本课程设计要求基于堆的概念,设计优先级队列抽象数据结构。要尽可能的仿真,更加趋近现实情况,充分考虑到病人病情复杂度和到达时间,并以此来确定就诊的优先级。通过这次实践相信自己能够更好的理解优先级队列这种数据结构,并对堆有更深

5、切的体会,增强自己的实践能力。1.2课程设计的主要研究工作首先要写出基于堆的概念的优先级队列(PriorityQueue)抽象数据类型,包含InitPriQueue(PriQueue*P)构造优先级队列、DestroyPriQueue(PriQueue*P)销毁优先级队列、ClearPriQueue(PriQueue*P)清空优先级队列、PriQueueInsert(PriQueue*P)在队列中插入元素、DeletMin_PriQueue(PriQueue*P)输出队列中优先级最高元素、Ergodic(PriQueue*P)遍历输出队列元素、StatusPriQueueEmpty(Pr

6、iQueue*P)判断队列是否为空、PriQueueFull(PriQueue*P)判断队列是否已满。除了这些,还有两个堆排序的函数,一个判断等待时间是否已经超过病人能够等待时间函数,一个删除病人的函数和一个系统定时生成病人信息并重新排列的函数。有了这些,就可以通过系统时间每隔一段时间自动生成病人的各项信息,包括:病情程度、到达时间和能够等待的时间,并通过这些来得到所有病人的优先级,然后按优先级进行排序,通过叫号每次输出一个优先级最高的病人。剩余的病人会随时间增加优先级变大,以符合实际情况。当病人已等待时间超过他能够等待的时间时,会删除这个病人及其各项信息。随着时间流逝,病人不断增多,来

7、模拟真实的就诊情景。-30-华中科技大学计算机科学与技术学院课程设计报告2系统需求分析与总体设计2.1系统需求分析我设计的这个系统如若成功,应该能够随时间变化,自动生成病人的初始优先级,到达时间和能够等待的时间。手动模拟医生叫号,这时优先级最高的病人出队列,并能够随时查询当前的就诊信息,把每个病人的信息依次输出,还能够统计已经就诊的病人和未就诊就离开的病人及其比例,还能够清空当前产生的所有的病人信息。程序运行时,每隔10秒不断产生新

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。