设待排序的关键字(a1~ a10)序列为{12,2,16,30,28,10,16*,20,6,18},a0为”交換”暂存位置,则利用希尔(Shell)排序的方法,以第一回合(pass)后得到的划分结果(a1~ a10)为( )。
A. 10 2 16 6 18 12 16* 20 30 28
B. 2 12 16 28 10 16* 20 6 18 30
C. 2 12 16 30 28 10 16* 20 6 18
D. 2 12 16 30 10 28 16* 20 6 18
查看答案
对n个关键字作快速排序,算法的最好情形下时间复杂度是( )。
A. O(n)
B. O(nlog 2 n)
C. O(n 3/2)
D. O(n 2)
以下排序算法中,数据的初始排列对排序时间影响最小的是( )。
A. 简单选择排序
B. 堆排序
C. 快速排序
D. 冒泡排序
以下排序算法中,何者较不宜采用链表作为存储结构?
A. 直接插入排序
B. 堆排序
C. 基数排序
D. 归并排序
T(n)= 8T(n/2) +O(n2),根据主(Master)定理,T(n)=( )。
A. T(n)=O(n2)
B. T(n)=O(nlog2n)
C. T(n)=O(n2log2n)
D. T(n)=O(n3)