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