题18
题目
【2019 统考真题】选择一个排序算法时, 除算法的时空效率外, 下列因素中, 还需要考虑的是 ( ).
I. 数据的规模
II. 数据的存储方式
III. 算法的稳定性
IV. 数据的初始状态
A. 仅 III
B. 仅 I、II
C. 仅 II、III、IV
D. I、II、III、IV
分析
- 当数据规模较小时可选择复杂度为
的简单排序算法 - 当数据规模较大时应选择复杂度为
的排序算法 - 当数据规模大到内存无法放下时需选择外部排序算法
- 当数据规模较大时应选择复杂度为
- 数据的存储方式主要分为顺序存储和链式存储
- 有些排序算法 (如堆排序) 只能用于顺序存储方式
- 若对数据稳定性有要求, 则不能选择不稳定的排序算法
- 当数据初始基本有序时,直接插入排序的效率最高
- 冒泡排序和直接插入排序的时间复杂度都是
- 而归并排序的时间复杂度依旧是
- 冒泡排序和直接插入排序的时间复杂度都是
解
D