问题:
[单选] 用下列4种排序方法,对一个已排好序(由小到大)的序列进行由小到大排序时,选择( )方法最好。A . 冒泡排序
B . 直接选择排序
C . 直接插入排序
D . 归并排序
参考答案:C
参考解析:
直接插入排序的基本算法是:当插入第i(i>=1)个对象时,前面的V[0],V[1],…,V[i-1]已经排好序,这时,用VEi]的关键码与V[i-1],[i-2]…的关键码顺序进行比较,找到插入位置即将V[i]插入,原来位置上的对象则向后移。由此可知,直接插入排序法的关键
码比较次数与对象的初始排列有关。在本题中,序列已经排好序,所以其i的取值达到了最大,也就是序列中元素的个数,其实根本无需比较和交换,所以这种方法是最佳的。