算法设计技能训练报告

算法设计技能训练报告

ID:47521147

大小:415.00 KB

页数:24页

时间:2020-01-12

算法设计技能训练报告_第1页
算法设计技能训练报告_第2页
算法设计技能训练报告_第3页
算法设计技能训练报告_第4页
算法设计技能训练报告_第5页
资源描述:

《算法设计技能训练报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、淮阴工学院算法设计技能训练报告姓名:学号:班级:NIIT学院:计算机与软件工程学院专业:计算机科学与技术题目:排序算法的比较指导教师:目录课题任务描述3系统设计42.1功能模块设计42.2数据结构设计52.3算法设计5详细设计6测试7结论8致谢9参考文献10课题任务描述利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。1.1要求:1.1.1 至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。并把排序后的结果保存在不同的文件中。1.1.2统计

2、每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。1.1.3 如果采用4种或4种以上的方法者,可适当加分。系统设计2.1功能模块设计2.2数据结构设计intA[n];srand(time(0));for(inti=0;i

3、和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。2.希尔排序原理:又称增量缩小排序。先将序列按增量划分为元素个数相同的若干组,使用直接插入排序法进行排序,然后不断缩小增量直至为1,最后使用直接插入排序完成排序。要点:增量的选择以及排序最终以1为增量进行排序结束。1.冒泡排序原理:将序列划分为无序和有序区,不断通过交换较大元素至无序区尾完成排序。要点:设计交换判断条件,提前结束以排好序的序列循环2.快速排序原理:不断寻找一个序列的中点,然后对中点左右的序列递归的进行排序,直至

4、全部序列排序完成,使用了分治的思想。1.直接选择排序原理:将序列划分为无序和有序区,寻找无序区中的最小值和无序区的首元素交换,有序区扩大一个,循环最终完成全部排序。.堆排序原理:利用大根堆或小根堆思想,首先建立堆,然后将堆首与堆尾交换,堆尾之后为有序区。归并排序原理:将原序列划分为有序的两个序列,然后利用归并算法进行合并,合并之后即为有序序列。测试图4.1图4.2图4.3结论(1)平方阶(O(n2))排序    一般称为简单排序,例如直接插入、直接选择和冒泡排序;(2)线性对数阶(O(nlgn))排序    如快速、堆和归并排序;(3)O(

5、n1+£)阶排序    £是介于0和1之间的常数,即0<£<1,如希尔排序;(4)线性阶(O(n))排序    如桶、箱和基数排序。各种排序方法比较    简单排序中直接插入最好,快速排序最快,当文件为正序时,直接插入和冒泡均最佳。影响排序效果的因素    因为不同的排序方法适应不同的应用环境和要求,所以选择合适的排序方法应综合考虑下列因素:  ①待排序的记录数目n;  ②记录的大小(规模);  ③关键字的结构及其初始状态;  ④对稳定性的要求;  ⑤语言工具的条件;  ⑥存储结构;  ⑦时间和辅助空间复杂度等。不同条件下,排序方法的选择(

6、1)若n较小(如n≤50),可采用直接插入或直接选择排序。    当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。(2)若文件初始状态基本有序(指正序),则应选用直接插人、冒泡或随机的快速排序为宜;(3)若n较大,则应采用时间复杂度为O(nlgn)的排序方法:快速排序、堆排序或归并排序。    快速排序是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;    堆排序所需的辅助空间少于快速排序,并且不会出现快速排序可能出现的最坏情况。这两种排

7、序都是不稳定的。    若要求排序稳定,则可选用归并排序。但本章介绍的从单个记录起进行两两归并的 排序算法并不值得提倡,通常可以将它和直接插入排序结合在一起使用。先利用直接插入排序求得较长的有序子文件,然后再两两归并之。因为直接插入排序是稳定的,所以改进后的归并排序仍是稳定的。 排序算法的稳定性 1)稳定的:如果存在多个具有相同排序码的记录,经过排序后,这些记录的相对次序仍然保持不变,则这种排序算法称为稳定的。   插入排序、冒泡排序、归并排序、分配排序(桶式、基数)都是稳定的排序算法。   2)不稳定的:否则称为不稳定的。   直接选择排

8、序、堆排序、shell排序、快速排序都是不稳定的排序算法致谢谢我的老师,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪

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

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

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