《数据结构试验报告——各种内排序算法的实现及性能比较14414.pdf》由会员分享,可在线阅读,更多相关《数据结构试验报告——各种内排序算法的实现及性能比较14414.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 实 验 报 告(2010 /2011 学年 第 2 学期)课程名称 数据结构使用 C+语言描述 实验名称 各种内排序算法的实现及性能比较 实验时间 2011 年 5 月 27 日 指导单位 计算机科学与技术系 指导教师 学生姓名 班级学号 学院(系)专 业 一实验目的和要求 内容:验证教材的各种内排序算法。分析各种排序算法的时间复杂度。要求:使用随机数产生器产生大数据集合,运行上述各种排序算法,使用系统时钟测量各算法所需的实际时间,并进行比较。二实验环境(实验设备)Visual C+三实验原理及内容 单选择排序endl;接插入排序endl;泡排序endl;速排序endl;路合并排序endl;
2、排序endl;出endl;coutPS:测 试 用 的 数 组 元 素 为 SIZE 时 间 为 重 复 运 行TIMES次的时间(包括了产生数据与析构的时间)switcha();template void Menu:childmenu()cout-endl;cout1.最好情况endl;cout2.最坏情况endl;cout3.平均情况endl;cout4.返回主菜单b;if(b=4)this-printmenu();template void Menu:childmenu2()cout-endl;cout1.原始算法endl;cout2.改进算法endl;实 验名称 各种内排序算法的实现及
3、性能比较 指导老师 实验类型 设计 实验学时 4 实验时间 cout3.返回主菜单c;if(c=3)this-printmenu();template void Menu:switcha()endl;return 0;/*ok-内排序测试系统-1.简单选择排序 2.直接插入排序 3.冒泡排序 4.快速排序 5.两路合并排序 6.堆排序 7.退出 PS:测试用的数组元素为 400 时间为重复运行 1000 次的时间(包括了产生数据与析构的时间)ok 1 简单选择排序 直接用随机数据测试 ok 用时:请按任意键继续.-内排序测试系统-1.简单选择排序 2.直接插入排序 3.冒泡排序 4.快速排序
4、5.两路合并排序 6.堆排序 7.退出 PS:测试用的数组元素为 400 时间为重复运行 1000 次的时间(包括了产生数据与析构的时间)ok 2 直接插入排序-1.最好情况 2.最坏情况 3.平均情况 4.返回主菜单 1 ok 用时:0 请按任意键继续.直接插入排序-1.最好情况 2.最坏情况 3.平均情况 4.返回主菜单 2 ok 用时:请按任意键继续.直接插入排序-1.最好情况 2.最坏情况 3.平均情况 4.返回主菜单 3 ok 用时:请按任意键继续.直接插入排序-1.最好情况 2.最坏情况 3.平均情况 4.返回主菜单 4-内排序测试系统-1.简单选择排序 2.直接插入排序 3.冒泡
5、排序 4.快速排序 5.两路合并排序 6.堆排序 7.退出 PS:测试用的数组元素为 400 时间为重复运行 1000 次的时间(包括了产生数据与析构的时间)ok 3 冒泡排序-1.最好情况 2.最坏情况 3.平均情况 4.返回主菜单 1 ok 用时:请按任意键继续.冒泡排序-1.最好情况 2.最坏情况 3.平均情况 4.返回主菜单 2 ok 用时:请按任意键继续.冒泡排序-1.最好情况 2.最坏情况 3.平均情况 4.返回主菜单 3 ok 用时:请按任意键继续.冒泡排序-1.最好情况 2.最坏情况 3.平均情况 4.返回主菜单 4-内排序测试系统-1.简单选择排序 2.直接插入排序 3.冒泡
6、排序 4.快速排序 5.两路合并排序 6.堆排序 7.退出 PS:测试用的数组元素为 400 时间为重复运行 1000 次的时间(包括了产生数据与析构的时间)ok 4-1.原始算法 2.改进算法 3.返回主菜单 1 原始快速排序 直接用随机数据测试 ok 用时:请按任意键继续.-1.原始算法 2.改进算法 3.返回主菜单 2 改进的快速排序 直接用随机数据测试 ok 用时:请按任意键继续.-1.原始算法 2.改进算法 3.返回主菜单 3-内排序测试系统-1.简单选择排序 2.直接插入排序 3.冒泡排序 4.快速排序 5.两路合并排序 6.堆排序 7.退出 PS:测试用的数组元素为 400 时间
7、为重复运行 1000 次的时间(包括了产生数据与析构的时间)ok 5 合并排序 直接用随机数据测试 ok 用时:请按任意键继续.-内排序测试系统-1.简单选择排序 2.直接插入排序 3.冒泡排序 4.快速排序 5.两路合并排序 6.堆排序 7.退出 PS:测试用的数组元素为 400 时间为重复运行 1000 次的时间(包括了产生数据与析构的时间)ok 6 堆排序 直接用随机数据测试 ok 用时:请按任意键继续.-内排序测试系统-1.简单选择排序 2.直接插入排序 3.冒泡排序 4.快速排序 5.两路合并排序 6.堆排序 7.退出 PS:测试用的数组元素为 400 时间为重复运行 1000 次的时间(包括了产生数据与析构的时间)ok 7 Press any key to continue*/四实验小结(包括问题解和解决方法、心得体会、意见与建议等)通过本次实验对教材上的各种内排序算法进行了逐一验证。并通过分析各种排序算法的时间复杂度。对每种算法的效率有了进一步了解。五指导老师评语 成 绩 批阅人 日 期