- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计
设计说明书
内部堆排序算法的实现
学生姓名 学号 班级 计本092 成绩 指导教师
计算机科学与技术系
2011年9月9日
数据结构 课程设计评阅书
题目 内部堆排序算法的实现 学生姓名 学号 指导教师评语及成绩
指导教师签名:
年 月 日 答辩评语及成绩
答辩教师签名:
年 月 日 教研室意见
总成绩:
室主任签名:
年 月 日
课程设计任务书
2011—2012学年第一学期
专业: 计算机科学与技术 学号: 0918014051 姓名: 金强胜
课程设计名称: 数据结构课程设计
设计题目: 内部堆排序算法的实现
完成期限:自 2011 年 8 月 29 日至 2011 年 9 月 9 日共 2 周
设计依据、要求及主要内容:
堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。如关键字序列(10,15,56,25,30,70)和(70,56,30,25,15,10)分别满足堆性质(1)和(2),故它们均是堆。
大根堆和小根堆:根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最小者的堆称为小根堆,又称最小堆。根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最大者,称为大根堆,又称最大堆。注意:①堆中任一子树亦是堆。②以上讨论的堆实际上是二叉堆(Binary Heap),
大根堆排序的基本思想:
① 先将初始文件R[1..n]建成一个大根堆,此堆为初始的无序区。
② 再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录R[n]交换,由此得到新的无序区R[1..n-1]和有序区R[n],且满足R[1..n-1].keys≤R[n].key。
③由于交换后新的根R[1]可能违反堆性质,故应将当前无序区R[1..n-1]调整为堆。然后再次将R[1..n-1]中关键字最大的记录R[1]和该区间的最后一个记录R[n-1]交换,由此得到新的无序区R[1..n-2]和有序区R[n-1..n],且仍满足关系R[1..n-2].keys≤R[n-1..n].keys,同样要将R[1..n-2]调整为堆。
要求 :(1)给出一个符合堆序列的一组数,能够建立大根堆和小根堆。
(2)界面友好,可操作性强。
(3)能够实现数据个数的变化输入,并建立相应的堆。
指导教师(签字): 教研室主任(签字):
批准日期: 年 月 日
摘 要
随着计算机技术的发展,为了查找方便,通常希望通过排序使表是按关键字有序的。本课题利用简单选择排序中的堆排序方法,通过建立大、小根堆,并对数据元素进行排序输出,实现对用户输入的一组可以组成堆的数据元素进行处理,使其按关键字排成为一个有序的序列,从而有效地提高了查找效率。
关键词:堆;排序;查找
目 录
1 课题描述 1
2 设计过程 2
2.1 流程图 2
2.1.1函数设计思想流程图 2
2.1.2程序流程图 2
2.2分步程序设计 7
2.2.1 建立堆函数 7
2.2.2输出堆函数 7
2.2.3输出已排序数组函数 9
2.2.4主函数 9
3 测试 12
3.1第一组测试数据测试结果 12
3.2第二组测试数据测试结果 13
总 结 16
参考资料 17
附 录 18
程序源代码 18
1 课题描述
随着计算机技术的发展,为了查找方便,通常希望计算机中的表是按关键字有序的。因为有序的顺序表可采用查找效率较高的折半查找法,而无序的表只能进行顺序查找。排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素
您可能关注的文档
- 《数据库课程设计报告_学籍管理系统》.doc
- 《数据库课程设计报告-超市进销存管理系统设计》.doc
- 《数据库课程设计报告-通用工资管理系统课程设计》.doc
- 《数据库课程设计报告-餐饮管理系统》.doc
- 《数据库课程设计报告图书销售数据库应用系统的设计与实现》.doc
- 《数据库课程设计报告某医院病房计算机系统》.doc
- 《数据库课程设计留言板系统》.doc
- 《数据库课程设计论文报告书-中小型工厂管理系统设计》.doc
- 《数据库课程设计职工考勤管理信息系统》.doc
- 《数据库课程设计报告-商品库存管理系统》.doc
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
文档评论(0)