问题 单项选择题

下列排序方法中,排序所花费时间不受数据初始排列特性影响的算法是()。

A.直接插入排序

B.冒泡排序

C.直接选择排序

D.快速排序

答案

参考答案:D

解析:

不同的方法各有优缺点,可根据需要运用到不同的场合。在选取排序算法时需要考虑以下因素:待排序的记录个数n、记录本身的大小、关键字的分布情况、对排序稳定性的要求、语言工具的条件及辅助空间的大小。依据这些因素可得以下结论:

·若待排序的记录数目n较小时,可采用插入排序和选择排序;

·若待排序记录按关键字基本有序,则宜采用直接插入排序或冒泡排序;

·当n很大且关键字的位数较少时,采用链式基数排序较好;

·若n较大,则应采用时间复杂度为O(nlogn)的排序方法——快速排序、堆排序、归并排序。

单项选择题
单项选择题 配伍题