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