各种排序算法性能比较 毕业论文

各种排序算法性能比较 毕业论文

ID:12296124

大小:580.50 KB

页数:34页

时间:2018-07-16

各种排序算法性能比较  毕业论文_第1页
各种排序算法性能比较  毕业论文_第2页
各种排序算法性能比较  毕业论文_第3页
各种排序算法性能比较  毕业论文_第4页
各种排序算法性能比较  毕业论文_第5页
资源描述:

《各种排序算法性能比较 毕业论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、毕业论文各种排序算法性能比较系专业姓名班级学号指导教师 职称设计时间33目录摘要2第一章绪论31.1研究的背景及意义31.2研究现状31.3本文主要内容4第二章排序基本算法52.1直接插入排序52.1.1基本原理52.1.2排序过程52.1.3时间复杂度分析52.2直接选择排序62.2.1基本原理62.2.2排序过程62.2.3时间复杂度分析62.3冒泡排序72.3.1基本原理72.3.2排序过程72.3.3时间复杂度分析82.4Shell排序82.4.1基本原理82.4.2排序过程92.4.3时间复杂度分析92.5堆排序92.5.1基本原理92.5.2排序过程102.5.3

2、时间复杂度分析132.6快速排序132.6.1基本原理132.6.2排序过程142.6.3时间复杂度分析15第三章系统设计163.1数据定义163.2程序流程图163.3数据结构设计173.4系统的模块划分及模块功能实现173.4.1系统模块划分173.4.2各排序模块功能实现18第四章运行与测试29第五章总结31致谢32参考文献3333摘要排序算法是数据结构这门课程核心内容之一。它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛应用于信息学、系统工程等各种领域。学习排序算法是为了将实际问题中涉及的对象在计算机中进行处理。本毕业论文对直接插入排序、直接

3、选择排序、起泡排序、Shell排序、快速排序以及堆排序算法进行比较。我们设置待排序表的元素为整数,用不同的测试数据做测试比较,长度取固定的三种,对象由随机数生成,无需人工干预来选择或者输入数据。比较的指标为关键字的比较次数和关键字的移动次数。经过比较可以看到,当规模不断增加时,各种算法之间的差别是很大的。这六种算法中,快速排序比较和移动的次数是最少的。也是最快的一种排序方法。堆排序和快速排序差不多,属于同一个数量级。直接选择排序虽然交换次数很少,但比较次数较多。关键字:直接插入排序;直接选择排序;起泡排序;Shell排序;快速排序;堆排序;33第一章绪论1.1研究的背景及意义

4、排序是计算机程序设计中的一种重要操作。它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。排序算法是在整个计算机科学与技术领域上广泛被使用的术语。排序算法是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。本人在研究各种算法的过程中,对其特点、效率、适用性等在不同的数据集上做全面的分析和比较,并以动态演示的方式展示一些经典排序算法运行过程,目的有以下五个方面:做算法的对比研究,培养研究能力;开发一个独立的软件,培养程序设计和软件开发能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法

5、和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;为教学服务,研究结果对抽象的《算法与数据结构》的教学有一定的辅助作用。排序是计算机科学中最重要的研究问题之一,它在计算机图形、计算机辅助设计、机器人、模式识别及统计学等领域具有广泛的应用。由于它固有的理论上的重要性,2000年它被列为对科学和工程计算的研究与实践影响最大的10大问题之一。其功能是将一个数据元素的任意序列重新排列成一个按关键字有序的序列。1.2研究现状随着计算机技术的日益发展,其应用早已不局限于简单的数值运算。而涉及到问题的分析、数据结构框架的设计以及插入、删除、排序、查找等复杂的非数值处理和操作

6、。排序算法的学习就是为以后利用计算机资源高效地开发非数值处理的计算机程序打下坚实的理论、方法和技术基础。近来国内外专家学者们对排序算法又有了新的研究和发现。例如:我国山东大学的张峰和张金屯两位教授共同研究了《我国植被数量分类和排序研究进展》这课题。很值得有关部门去学习和研究。331.3本文主要内容排序的方法很多,但是就其全面性能而言,很难提出一种被认为是最好的方法,每一种方法都有各自的优缺点,适合在不同的环境下使用。如果排序中依据的不同原则对内部排序方法进行分类,则大致可分为直接插入排序、直接选择排序、起泡排序、Shell排序、快速排序、堆排序六类。本文编写一个程序对直接插入

7、排序、直接选择排序、起泡排序、Shell排序、快速排序及堆排序这几种内部排序算法进行比较,用不同的测试数据做测试比较。比较的指标为关键字的比较次数和关键字的移动次数。最后用图表数据汇总,以便对这些内部排序算法进行性能分析。33第二章排序基本算法2.1直接插入排序2.1.1基本原理假设待排序的n个记录{R0,R1,…,Rn}顺序存放在数组中,直接插入法在插入记录Ri(i=1,2,…,n-1)时,记录被划分为两个区间[R0,Ri-1]和[Ri+1,Rn-1],其中,前一个子区间已经排好序,后一个子区间是当前

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

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

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