1 / 26
文档名称:

排序算法实验报告.doc

格式:doc   大小:1,138KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

排序算法实验报告.doc

上传人:1006108867 2021/11/28 文件大小:1.11 MB

下载得到文件列表

排序算法实验报告.doc

相关文档

文档介绍

文档介绍:- -
. 优选-
数据构造实验报告
八种排序算法实验报告
实验内容
编写关于八种排序算法的C语言程序,要求包含直接插入排序、希尔排序、简单项选择择排序、堆排序、冒泡排序、快速排序、归并排序和基数排序。
实验步骤
各种内部排序算法的比拟:
八种排序算法的复杂度分析〔时间与空间〕。
八种排序算法的C语言编程实现。
八种排序算法的比拟,包括比拟次数、移动次数。
稳定性,时间复杂度和空间复杂度分析
 比拟时间复杂度函数的情况:
- -
. 优选-
时间复杂度函数O(n)的增长情况
所以对n较大的排序记录。一般的选择都是时间复杂度为O(nlog2n)的排序方法。
时间复杂度来说:
(1)平方阶(O(n2))排序
各类简单排序:直接插入、直接选择和冒泡排序;
 (2)线性对数阶(O(nlog2n))排序
快速排序、堆排序和归并排序;
 (3)O(n1+§))排序,§是介于0和1之间的常数。      
- -
. 优选-
希尔排序
(4)线性阶(O(n))排序
基数排序,此外还有桶、箱排序。
说明:
当原表有序或根本有序时,直接插入排序和冒泡排序将大大减少比拟次数和移动记录的次数,时间复杂度可降至O〔n〕;
而快速排序那么相反,当原表根本有序时,将蜕化为冒泡排序,时间复杂度提高为O〔n2〕;
原表是否有序,对简单项选择择排序、堆排序、归并排序和基数排序的时间复杂度影响不大。 
稳定性:
排序算法的稳定性:假设待排序的序列中,存在多个具有一样关键字的记录,经过排序, 这些记录的相对次序保持不变,那么称该算法是稳定的;假设经排序后,记录的相对 次序发生了改变,那么称该算法是不稳定的。 
  稳定性的好处:排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排序,逐次按高位排序,低位一样的元素其顺序再高位也一样时是不会改变的。另外,如果排序算法稳定,可以防止多余的比拟;
稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序
不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序
设计细节
- -
. 优选-
排序有内部排序和外部排序,内部排序是数