北邮数据结构实验报告排序.doc
《北邮数据结构实验报告排序.doc》由会员分享,可在线阅读,更多相关《北邮数据结构实验报告排序.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构实验报告实验名称: 实验四排序学生姓名: 班 级: 班内序号: 学 号: 日 期: 2014年12月19日1实验要求实验目的通过实现下述实验内容,学习、实现、对比各种排序算法,掌握各种排序算法的优劣,以及各种算法使用的情况。实验内容使用简单数组实现下面各种排序算法,并进行比较。排序算法: 1、插入排序 2、希尔排序3、冒泡排序4、快速排序5、简单选择排序6、堆排序(选作)7、归并排序(选作)8、基数排序(选作)9、其他要求: 1、测试数据分成三类:正序、逆序、随机数据2、对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关键字交换计为3次移动)。 3、对于这三类数据,比
2、较上述排序算法中不同算法的执行时间,精确到微秒(选作)4、对2和3的结果进行分析,验证上述各种算法的时间复杂度编写测试main()函数测试线性表的正确性。2. 程序分析首先,题目要求测试不同的数据,所以可以手动输入待排序元素。其次,由于对一组数据要求用不同的排序算法来处理,所以需要一个复制函数把排序前的无序数组寄存出去,为下一次排序做准备。再次,由于每次排序后都需要把排序后的结果打印出来,代码是一样的,根据相同的代码可以封装成一个函数的思想,所以还需增加一个打印函数。2.1 存储结构本程序采用简单数组来储存输入的待排序数组2.2 关键算法分析核心算法思想: 1. 利用教材讲述的基本算法思想,实
3、现七种排序算法,统计其运行相关数据。 2. 将七种排序函数入口地址作为函数指针数组,实现快速调用和统计。使得程序代码可读 性增、结构更加优化。关键算法思想描述和实现: 关键算法1: 实现七种算法的基本排序功能。 1、 插入排序:依次将待排序的序列中的每一个记录插入到先前排序好的序列中,直到全部记录排序完毕。插入排序的思想是:每次从无序区取一元素将其添加到有序区中。2、 希尔排序:先将整个序列分割成若干个子列,分别在各个子列中运用直接插入排序,待整个序列基本有序时,再对全体记录进行一次直接插入排序。3、 冒泡排序:两两比较相邻记录的关键码,如果反序则交换,直到没有反序记录为止。4、 快速排序:首
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 报告 排序
限制150内