第一范文网 - 专业文章范例文档资料分享平台

数据结构实验9实验报告

来源:用户分享 时间:2025/12/24 12:51:50 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验 8 实验日志

实验日期:2019 年 12 月 16 日星期一 学院:信息科学与工程学院 专业:计算机科学与技术

班级:计科 1802 学号:201808010205 姓名:展双龙

一、实验目的

基于教材内容,任选两种排序算法,实现并比较性能。

二、基本要求

(1)至少要有一种排序算法的性能优于O(n2);

(2)对实现的排序算法进行实验比较,实验比较数据参见教材7.8章节;

(3)排序算法要基于教材,测试输入的整数数据文件(5个,文件中数据规模分别是100,1K,10K,100K和1M),排序结果也要输出到文件中; (4)要在屏幕上输出排序过程所花费时间;

三、实验内容

选择shell排序、快速排序两种排序方法进行实验。 与实验8相似,首先写了一个生成5种不同大小数据文件的程序,主要运用了随机函数以及文件流,接着选用了QueryPerformanceCounter来获得精确的时间。 用两个数组分别存放相同的来自于数据文件的数据,用两种排序算法分别对两个含元素相同的数组进行排序,保证两个排序算法所进行的排序对象相同。

使用两个函数分别计算shell排序与快速排序的时间,记录下每种方法所用的时间,以ms为单位。在函数中将查找时间和查找结果都写入了文件中,可以去查看,以下是对时间的整合表格:

排序方法 规模 100 1K

时间 0.0149 0.462 5.9928 75.9016 6184.15

时间单位

shell

10K 100K 1M

ms

100 1K

快速排序

10K 100K 1M

0.0129 0.2338 1.6215 20.133 192.93

四、结果分析

从表中可以看出,快速查找总的来说比shell要快,尤其是数据规模变得越来越大的时候。在数据呈指数上升时,明显可以看出快速排序算法比shell快了很多,从时间复杂度方面分析,shell排序的时间复杂度在最优的情况下,为:O(n ^ (1.3) ) (元素已经排序好顺序),但在最差的情况下,为:O(n ^ 2),事实上shell排序算法在数据规模较小或中等规模的情况下的速度并没有比快速排序慢多少;而快速是排序的时间复杂度则是更好的O(nlogn),数据规模较大时确实是要快得多。 当然,上面的数据因为个人电脑以及运行环境和随机数的生成方式等等因素不可能是完全准确的。

5个数据文件的生成程序与实验8中的完全相同,因此源码包中不再累赘。 注:源码包中的out开头的txt是输出文件,其余的txt是待查数据。

搜索更多关于: 数据结构实验9实验报告 的文档
数据结构实验9实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c926ca15cvp6ehs64cxfu8wrp7230mk017qa_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top