习题八
1. 从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,这种方法称为(C)
A. 归并排序 B.冒泡排序 C.插入排序 D.选择排序
2. 从未排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)末端的方法,称为(D)
A. 归并排序 B.冒泡排序 C. 插入排序 D. 选择排序
3. 对n个不同的关键字由小到大进行冒泡排序,在下列(B)情况下比较次数最多。
A. 从小到大排列好 B.从大到小排列好 C.元素无序 D.元素基本有序
4. 对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为(D)
A. n+1 B.n C.n-1 D.n(n-1)/2
5. 快速排序在下列(C)情况下最易发挥其长处。
A. 被排序的数据中含有多个相同排序码
B. 被排序的数据已基本有序
C. .被排序的数据完全无序
D. 被排序的数据中的最大值与最小值相差悬殊
6. 对n个关键字做出快速排序,在最坏的情况下,算法的时间复杂度为(B)
A. O(n) B.O(n^2) C.O(nlog2n) D.O(n^3)
7. 若一组记录的排序码为(46,79,56,38,40,84),利用快速排序的方法,以第一个记录为准的到的第一次划分结果是(C)
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
8. 下列关键字序列中,(D)是堆
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
9. 堆是一种(B)排序
A.插入 B.选择 C交换 D.归并
10. 堆的形状是一棵(C)
A.二叉排序树 B.满二叉树 C.完全二叉树 D.平衡二叉树
11. 若一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为(B)
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
12. 下列几种排序方法中,要求内存最大的是(C)
A.希尔排序 B.快速排序 C.归并排序 D.堆排序
13. 下列几种方法中,(C)是最稳定的排序方法。
A.希尔排序 B.快速排序 C.归并排序 D.堆排序
14. 数据表中有10000个元素,如果仅要求求出其最大的10个元素,则采用()算法最节省时间(D)
A.冒泡排序 B.快速排序 C.简单选择排序 D.堆排序
15. 下列排序算法中,不能保证每趟排序至少能将一个元素放到其最终位置上的排序方法是(A)
A..希尔排序 B.快速排序 C冒泡排序 D.堆排序
排序分类:
1. 插入类:将无序子序列中记录插入到有序序