问题
单项选择题
下列排序方法中,排序所花费时间不受数据初始排列特性影响的算法是()。
A.直接插入排序
B.冒泡排序
C.直接选择排序
D.快速排序
答案
参考答案:D
解析:
不同的方法各有优缺点,可根据需要运用到不同的场合。在选取排序算法时需要考虑以下因素:待排序的记录个数n、记录本身的大小、关键字的分布情况、对排序稳定性的要求、语言工具的条件及辅助空间的大小。依据这些因素可得以下结论:
·若待排序的记录数目n较小时,可采用插入排序和选择排序;
·若待排序记录按关键字基本有序,则宜采用直接插入排序或冒泡排序;
·当n很大且关键字的位数较少时,采用链式基数排序较好;
·若n较大,则应采用时间复杂度为O(nlogn)的排序方法——快速排序、堆排序、归并排序。