数据排序算法.docx

上传人:b****6 文档编号:5143507 上传时间:2022-12-13 格式:DOCX 页数:10 大小:703.12KB
下载 相关 举报
数据排序算法.docx_第1页
第1页 / 共10页
数据排序算法.docx_第2页
第2页 / 共10页
数据排序算法.docx_第3页
第3页 / 共10页
数据排序算法.docx_第4页
第4页 / 共10页
数据排序算法.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

数据排序算法.docx

《数据排序算法.docx》由会员分享,可在线阅读,更多相关《数据排序算法.docx(10页珍藏版)》请在冰豆网上搜索。

数据排序算法.docx

数据排序算法

福州大学

《操作系统原理》上机实验报告

专业和班级

2011级计算机科学与技术

成绩

姓名

学号

课程名称

操作系统原理

实验名称

排序综合练习

利用随机函数生成30000个随机正整数,用多种方法进行排序。

1.这些随机数的取值为5位整数,以每行15个显示。

2.采用的排序方法不低于4种,取自:

冒泡排序、直接插入排序、希尔排序、快速排序、选择排序、堆排序、归并排序等。

3.分别计算每种算法排序所花费的时间,并简要对比分析。

4.程序最好有菜单供选,有信息提示。

1.常用的排序方法有哪些?

答:

冒泡排序、直接插入排序、希尔排序、快速排序、选择排序、堆排序、归并排序、箱排序、基数排序。

2.简要介绍你程序中所用到的排序方法的特点。

答:

1、冒泡排序:

每一趟排序都使有序区增加了一个气泡,在经过n-1趟排序之后,有序区中就有n-1个气泡,而无序区中气泡的重量总是大于等于有序区中气泡的重量,所以整个冒泡排序过程至多需要进行n-1趟排序。

2、快速排序:

 在R[low..high]中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为左、右两个较小的子区间R[low..pivotpos-1)和R[pivotpos+1..high],并使左边子区间中所有记录的关键字均小于等于基准记录(不妨记为pivot)的关键字pivot.key,右边的子区间中所有记录的关键字均大于等于pivot.key,而基准记录pivot则位于正确的位置(pivotpos)上,它无须参加后续的排序。

3、堆排序:

堆排序(HeapSort)是一树形选择排序。

 堆排序的特点是:

在排序过程中,将R[l..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系【参见二叉树的顺序存储结构】,在当前无序区中选择关键字最大(或最小)的记录。

4、选择排序:

方法:

每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。

性能:

比较次数O(n^2),n^2/2;交换次数O(n),n;交换次数比冒泡排序少多了,由于交换所需CPU时间比比较所需的CUP时间多,所以选择排序比冒泡排序快。

但是N比较大时,比较所需的CPU时间占主要地位,所以这时的性能和冒泡排序差不太多,但毫无疑问肯定要快些。

1、创建随机函数生成30000个随机正整数。

2、冒泡排序方法代码:

3、快速排序算法代码:

4、堆排序的算法代码:

5、选择排序算法的代码:

6、主调用函数:

1、创建随机函数生成30000个随机正整数的结果。

2、冒泡排序和对应的时间的效果图:

3、快速排序和对应消耗的时间的效果图:

4、堆排序和对应消耗的时间的效果图:

 

5、选择排序和对应消耗的时间的效果图:

参考材料见:

1.

2.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1