天津专接本城建计算机专业课—数据结构部分
第9章 排序 自测卷 姓名 班级
一、填空题(每空1分,共24分)
1. 大多数排序算法都有两个基本的操作:。
2. 在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插
入到有序表时,为寻找插入位置至少需比较 6 次。
3. 在插入和选择排序中,若初始数据基本正序,则选用
选择 。
4. 在堆排序和快速排序中,若初始记录接近正序或反序,则选用无序,则最好选用 快速排序 。
5. 对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是2。若对其进行快速
排序,在最坏的情况下所需要的时间是 O(n2。
6. 对于n个记录的集合进行归并排序,所需要的平均时间是 ,所需要的附加空间是 O(n) 。
7. 对于n个记录的表进行2路归并排序,整个归并排序需进行趟(遍)。
8. 设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则:
冒泡排序一趟扫描的结果是 H C Q P A M S R D F X Y ;
初始步长为4的希尔(shell)排序一趟的结果是 P A C S Q H F X R D M Y ;
二路归并排序一趟扫描的结果是 H Q C Y A P M S D R F X;
快速排序一趟扫描的结果是 F H C D P A M Q R S Y X ;
堆排序初始建堆的结果是 A D C R F Q M S Y P H X 。
9. 在堆排序、快速排序和归并排序中,
若只从存储空间考虑,则应首先选取 方法,其次选取 快速排序方法,最后选取归并排序方法;
若只从排序结果的稳定性考虑,则应 选取 归并排序 方法;
若只从平均情况下最快考虑,则应选取 堆排序、快速排序和归并排序 方法;
若只从最坏情况下最快并且要节省内存考虑,则应选取 堆排序 方法。
二、单项选择题(每小题1分,共18分)
( C )1.将5个不同的数据进行排序,至多需要比较 次。
A. 8 B. 9 C. 10 D. 25
( C )2. 排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比
较,将其放入已排序序列的正确位置上的方法,称为
A. 希尔排序 B. 冒泡排序 C. 插入排序 D. 选择排序
( D )3.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为