第九章单元测试
从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,这种排序方法称为( )。
从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为( )。
对n个关键字作快速排序,在最坏情况下,算法的时间复杂度是( )。
下列关键字序列中,( )是堆。
下述几种排序方法中,( )是稳定的排序方法。
在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是( )。
在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。
在对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置至少需比较( )次。
大多数排序算法都有两个基本的操作:( )和( )。
对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为( )。
下列关于堆的描述不正确的是( )。
若对n个记录的集合进行冒泡排序,在最坏的情况下所需要的时间是( )。
假设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X)中的关键码按字母序的升序重新排列,则初始步长为4的希尔(shell)排序一趟的结果是( )。
用某种排序方法对线性表(25, 84, 21, 47, 15, 27, 68, 35, 20)进行排列时,元素序列的变化情况如下:
(1) 25, 84, 21, 47, 15, 27, 68, 35, 20
(2) 20, 15, 21,25, 47, 27, 68, 35, 84
(3) 15, 20, 21, 25, 35, 27, 47, 68,84
(4) 15, 20, 21, 25, 27, 35, 47, 68, 84
则所有的排序方法是( )。
有一组记录的排序码为(25, 48, 16, 35, 79, 82, 23, 40, 36, 72),其中含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并的结果是( )。
A:冒泡排序 B:插入排序 C:归并排序 D:选择排序
答案:插入排序
A:冒泡排序 B:归并排序 C:选择排序 D:插入排序
A:O(n2) B:O(n3) C:O(n) D:O(nlog2n)
A:16,23,53,31,94,72 B:16,72,31,23,94,53 C:94,23,31,72,16,53 D:16,53,23,94,31,72
A:快速排序 B:归并排序 C:堆排序 D:希尔排序
A:选择排序 B:插入排序 C:起泡排序 D:希尔排序
A:选择排序 B:归并排序 C:插入排序 D:快速排序
A:3 B:6 C:5 D:4
A:插入和删除 B:比较和移动 C:插入和比较 D:移动和删除
A:n(n-1)/2 B:n+1 C: n D:n-1
A:堆是一种插入排序 B:堆是一种选择排序 C:堆是利用完全二叉树中双亲结点和孩子结点之间的内在关系,在当前无序的序列中选择关键字最大的或最小的记录 D:堆的形状是一棵完全二叉树
A:O(n) B:O(nlog2n) C:O(n3) D:O(n2)
A:A D C R F Q M S Y P H X B:H C Q P A M S R D F X Y C:P A C S Q H F X R D M Y D:F H C D P A M Q R S Y X
A:快速排序 B:归并排序 C:插入排序 D:选择排序
A:16 25 48 35 79 82 23 36 40 72 B:16 25 35 48 79 82 23 36 40 72 C:16 25 35 48 79 23 36 40 72 82 D:16 25 35 48 23 40 79 82 36 72