- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构(C语言)各种排序算法性能比较毕业论文
毕业论文
各种排序算法性能比较
系 电子信息工程系
专业 电子信息工程技术(嵌入式系统) 姓名 于广振
班级 电信083(系统) 学号0801133115
指导教师 郑雪芳 职称 讲师
设计时间 2010.11.22-2011.1.8
目录
摘要 2
第一章 绪论 3
1.1 研究的背景及意义 3
1.2 研究现状 3
1.3 本文主要内容 4
第二章 排序基本算法 5
2.1 直接插入排序 5
2.1.1基本原理 5
2.1.2排序过程 5
2.1.3时间复杂度分析 5
2.2 直接选择排序 6
2.2.1基本原理 6
2.2.2 排序过程 6
2.2.3 时间复杂度分析 6
2.3冒泡排序 7
2.3.1基本原理 7
2.3.2排序过程 7
2.3.3 时间复杂度分析 8
2.4 Shell排序 8
2.4.1基本原理 8
2.4.2排序过程 9
2.4.3时间复杂度分析 9
2.5堆排序 9
2.5.1基本原理 9
2.5.2排序过程 10
2.5.3时间复杂度分析 13
2.6快速排序 13
2.6.1基本原理 13
2.6.2排序过程 14
2.6.3时间复杂度分析 15
第三章 系统设计 16
3.1数据定义 16
3.2 程序流程图 16
3.3 数据结构设计 17
3.4 系统的模块划分及模块功能实现 17
3.4.1系统模块划分 17
3.4.2各排序模块功能实现 18
第四章 运行与测试 29
第五章 总结 31
参考文献 32
致谢 33
摘要
排序算法是数据结构这门课程核心内容之一。它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛应用于信息学、系统工程等各种领域。学习排序算法是为了将实际问题中涉及的对象在计算机中进行处理。本毕业论文对直接插入排序、直接选择排序、起泡排序、Shell排序、快速排序以及堆排序算法进行比较。
我们设置待排序表的元素为整数,用不同的测试数据做测试比较,长度取固定的三种,对象由随机数生成,无需人工干预来选择或者输入数据。比较的指标为关键字的比较次数和关键字的移动次数。
经过比较可以看到,当规模不断增加时,各种算法之间的差别是很大的。这六种算法中,快速排序比较和移动的次数是最少的。也是最快的一种排序方法。堆排序和快速排序差不多,属于同一个数量级。直接选择排序虽然交换次数很少,但比较次数较多。
关键字:直接插入排序;直接选择排序;起泡排序;Shell排序;快速排序;堆排序;
第一章 绪论
1.1 研究的背景及意义
排序是计算机程序设计中的一种重要操作。它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。
排序算法是在整个计算机科学与技术领域上广泛被使用的术语。排序算法是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。本人在研究各种算法的过程中,对其特点、效率、适用性等在不同的数据集上做全面的分析和比较,并以动态演示的方式展示一些经典排序算法运行过程,目的有以下五个方面:做算法的对比研究,培养研究能力;开发一个独立的软件,培养程序设计和软件开发能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;为教学服务,研究结果对抽象的 《 算法与数据结构 》 的教学有一定的辅助作用。
排序是计算机科学中最重要的研究问题之一, 它在计算机图形、计算机辅助设计、机器人、模式识别及统计学等领域具有广泛的应用。由于它固有的理论上的重要性,2000年它被列为对科学和工程计算的研究与实践影响最大的10大问题之一。其功能是将一个数据元素的任意序列重新排列成一个按关键字有序的序列。
1.2 研究现状
随着计算机技术的日益发展,其应用早已不局限于简单的数值运算。而涉及到问题的分析、数据结构框架的设计以及插入、删除、排序、查找等复杂的非数值处理和操作。排序算法的学习就是为以后利用计算机资源高效地开发非数值处理的计算机程序打下坚实的理论、方法和技术基础。近来国内外专家学者们对排序算法又有了新的研究和发现。例如:我国山东大学的张峰和张金屯两位教授共同研究了 《 我国植被数量分类和排序研究进展 》 这课题。很值得有关部门去学习和研究。
1.3 本文主要内容
排序的方法很多,但是就其全面性能而言,很难提出一种被认为是最好的方法,每一种方法都有各自的优缺点,适合在不同的环境下使用。如果排序中依据的不同原则对内部排序方法进行分类,则大致可分为直接插入排序、直接选择排序、起泡排序、Shell排序、快速排序、
您可能关注的文档
- 巨头们为什么一定要抢占移动互联网入口费下载.doc
- 市场和发布主计划模板MKT-Template-00Market and Launch plan(master).doc
- 巴赫键盘音乐的基本演奏特点——以巴赫《第五法国组曲》为例.doc
- 市场推广常用话术培训资料(可编辑).doc
- 市场开发的决策与策划( 10).ppt
- 市场营销学(专升本)模拟题试卷.doc
- 市场营销-营销总监必备的三十二个品质(搞笑图.ppt
- 市场营销学课程教学大纲(三号黑体加粗居中).doc
- 布艺DIY:13款帘头褶皱方式大推荐(组图).doc
- 带电粒子在磁场中的花样运动 新课标 人教版.doc
- 山东省临沂市沂水县2023-2024学年高一下学期期中考试历史试题.docx
- 江苏省泰州市靖江高级中学2023-2024学年高二下学期4月期中考试物理试题(无答案).docx
- 新疆部分名校2023-2024学年高二下学期期中联合考试语文试题.docx
- 湖南省岳阳市岳阳县第一中学2023-2024学年高三下学期4月期中考试数学试题.docx
- 山东省烟台市2023-2024学年高二下学期4月期中生物试题(无答案).docx
- 江苏省靖江高级中学2023-2024学年高二下学期期中地理试题(无答案).docx
- 四川省甘孜藏族自治州某重点中学2023-2024学年高一下学期4月期中考试物理试题.docx
- 湖北省武汉市华中师范大学第一附属中学2023-2024学年高二下学期4月期中英语试题(无答案).docx
- 四川省成都市金牛区成都市实验外国语学校2024年高三三模考试生物试题.docx
- 浙江省宁波市北仑中学2023-2024学年高二下学期期中考试物理试题.docx
1亿VIP精品文档
相关文档
最近下载
- 医用电气设备电磁兼容国际标准第四版(IEC 60601-1-2 ED4.0)介绍及其发展趋势探讨.pptx
- 游艇驾照A2E培训考试题库大全-上(单选题汇总).docx
- 2024年配电两种人理论考核试题及答案.pdf VIP
- 器械体操(国科技大)中国大学MOOC慕课 期末考试 客观题答案.docx
- 2023-2024学年上海市位育中学高三上学期期中测评英语试卷含详解.docx VIP
- 室内设计师谈单思路.ppt
- 2023年新高考全国一卷英语试卷及答案.docx
- 2022-2023学年高中英语新人教版必修第二册 Unit 1 Cultural Heritage 同步测试作业.doc
- 名著导读《骆驼祥子》PPT课件.pptx
- 上海建工纳税分析2022-09.pptx
文档评论(0)