问题 单项选择题

对于具有n个元素的一个数据序列,若只需要得到其中第A个元素之前的部分排序,最好采用 (43)

A.堆排序

B.希尔排序

C.快速排序

D.直接插入排序

答案

参考答案:A

解析:[要点解析] 对于具有n个元素的一个数据序列,对于只需得到最终序列的前k个元素,最好采用堆排序。
对于希尔排序、直接插入排序,只有在排序过程后才能确保全部序列及前k个元素的最终排列。
快速排序采用分治算法,常用递归算法实现,该算法根据枢轴元素进行划分,第一趟划分结束后得到了两个子序列,一个序列中的元素均不大于另一个子序列中的元素,枢轴元素介于这两个子序列之间。若仅需得到最终序列的前k个元素,每次得到枢轴元素位置后再考虑下一步的排序过程,在算法的流程控制上比较复杂。

单项选择题
单项选择题