第9章 排序 自测卷 姓名 班级
题号
一
二
三
四
五
总分
题分
24
18
36
8
14
100
得分
一、填空题(每空1分,共24分)
1,大多数排序算法都有两个基本的操作,和 。
2,在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较 次。
3,在插入和选择排序中,若初始数据基本正序,则选用 ;若初始数据基本反序,则选用 。
4,在堆排序和快速排序中,若初始记录接近正序或反序,则选用 ;若初始记录基本无序,则最好选用 。
5,对于n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是 。若对其进行快速排序,在最坏的情况下所需要的时间是 。
6,对于n个记录的集合进行归并排序,所需要的平均时间是,所需要的附加空间是 。
7,对于n个记录的表进行2路归并排序,整个归并排序需进行 趟(遍)。
8,设要将序列(Q,H,C,Y,P,A,M,S,R,D,F,X)中的关键码按字母序的升序重新排列,则:
冒泡排序一趟扫描的结果是 ;
初始步长为4的希尔(shell)排序一趟的结果是 ;
二路归并排序一趟扫描的结果是 ;
快速排序一趟扫描的结果是 ;
堆排序初始建堆的结果是 。
9,在堆排序、快速排序和归并排序中,
若只从存储空间考虑,则应首先选取 方法,其次选取 方法,最后选取
方法;
若只从排序结果的稳定性考虑,则应 选取 方法;
若只从平均情况下最快考虑,则应选取 方法;
若只从最坏情况下最快并且要节省内存考虑,则应选取 方法。
二、单项选择题(每小题1分,共18分)
( )1.将5个不同的数据进行排序,至多需要比较 次。
A,8 B,9 C,10 D,25
( )2,排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为
A,希尔排序 B,冒泡排序 C,插入排序 D,选择排序
( )3.从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为
A,希尔排序 B,归并排序 C,插入排序 D,选择排序
( )4.对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多。
A,从小到大排列好的 B,从大到小排列好的 C,元素无序 D,元素基本有序
( )5.对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为
A,n+1 B,n C,n-1 D,n(n-1)/2
( )6.快速排序在下列哪种情况下最易发挥其长处。
A,被排序的数据中含有多个相同排序码 B,被排序的数据已基本有序
C,被排序的数据完全无序 D,被排序的数据中的最大值和最小值相差悬殊
( )7,对有n个记录的表作快速排序,在最坏情况下,算法的时间复杂度是
A.O(n) B.O(n2) C.O(nlog2n) D.O(n3)
( )8.若一组记录的排序码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为
A,38,40,46,56,79,84 B,40,38,46,79,56,84
C,40,38,46,56,79,84 D,40,38,46,84,56,79
( )9.下列关键字序列中,是堆。
A,16,72,31,23,94,53 B,94,23,31,72,16,53
C,16,53,23,94,31,72 D,16,23,53,31,94,72
( )10.堆是一种 排序。
A,插入 B.选择 C,交换 D,归并
( )11.堆的形状是一棵
A,二叉排序树 B.满二叉树 C,完全二叉树 D,平衡二叉树
( )12.若一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为
A,79,46,56,38,40,84 B,84,79,56,38,40,46
C,84,79,56,46,40,38 D,84,56,79,40,46,38
( )17,下述几种排序方法中,要求内存最大的是
A,插入排序 B.快速排序 C,归并排序 D,选择排序