北邮数据结构第四次实验题目一排序概要
数据结构实验报告
实验名称: 实验四 排序(题目1)
姓 名:
班 级:
班内序号:
学 号:
1.实验要求
实验目的:学习、实现、对比各种排序算法,掌握各种排序算法的优劣,以及各种算法使用的情况。
实验内容:使用简单数组实现下面各种排序算法,并进行比较。
排序算法:
1、插入排序
2、希尔排序
3、冒泡排序
4、快速排序
5、简单选择排序
要求:
1、测试数据分成三类:正序、逆序、随机数据
2、对于这三类数据,比较上述排序算法中关键字的比较次数和移动次数(其中关键字交换计为3次移动)。
3、对2的结果进行分析,验证上述各种算法的时间复杂度。
编写测试main()函数测试线性表的正确性。
2. 程序分析
2.1 存储结构
程序采用的存储机构是顺序存储,如下图所示:
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7]
2.2 关键算法分析
2.2.1 插入排序
插入排序的基本方法是寻找一个指定元素在待排序元素中的位置,然后插入。一趟直接插入排序的C++描述过程如下:
①将待插入纪录赋值给哨兵r[0]:r[0]=r[i];
②从后向前进行顺序查找:for(j=i-1;r[0]r[j];j--);
③元素后插
原创力文档

文档评论(0)