选择题
1.输入10^5个只有一位数字的整数,可以用O(N)复杂度将其排序的算法是:桶排序
2.数据序列{ 3, 1, 4, 11, 9, 16, 7, 28 }只能是下列哪种排序算法的两趟排序结果?B
A 冒泡排序
B 快速排序
C 插入排序
D 堆排序
解析:如果是冒泡排序,末尾是最大或最小的两个数;
如果是插入排序,最前面应该是最大或最小的两个数;
如果是堆排序,末尾因该是筛选出来的两个数。
3.对10TB的数据文件进行排序,应使用的方法是:归并排序
4.下列排序方法中,若将顺序存储更换为链式存储,则算法的时间效率会降低的是:
1.插入排序;2.选择排序;3.起泡排序;4.希尔排序;5.堆排序. 4,5
5.将序列{ 2, 12, 16, 88, 5, 10, 34 }排序。若前2趟排序的结果如下:
第1趟排序后:2, 12, 16, 10, 5, 34, 88
第2趟排序后:2, 5, 10, 12, 16, 34, 88
则可能的排序算法是:
A.冒泡排序
B.快速排序
C.归并排序
D.插入排序
6.在对N个元素进行排序时,基于比较的算法中,其“最坏时间复杂度”中最好的是:
A.O(logN)
B.O(N)
C.O(NlogN)
D.O(N^2)
7.下列排序算法中,哪种算法可能出现:在最后一趟开始之前,所有的元素都不在其最终的位置上?(设待排元素个数N>2)
A.冒泡排序
B.插入排序
C.堆排序
D.快速排序
8.数据序列{ 3,2,4,9,8,11,6,20 }只能是下列哪种排序算法的两趟排序结果?
(2分)
A.冒泡排序
B.选择排序???
C.插入排序
D.快速排序
9.在基于比较的排序算法中,哪种算法的最坏情况下的时间复杂度不高于O(NlogN)?
(1分)
A.冒泡排序
B.归并排序
C.希尔排序
D.快速排序
10.下列排序算法中,时间复杂度不受数据初始状态影响,恒为O(NlogN)的是:
(1分)
A.冒泡排序
B.直接选择排序
C.堆排序
D.快速排序