2019 数据结构 排序算法 选择题
第 7 题

选择一个排序算法时,除算法的时空效率外,下列因素中,还需要考虑的是( )。

Ⅰ.数据的规模 Ⅱ.数据的存储方式 Ⅲ.算法的稳定性 Ⅳ.数据的初始状态

排序算法

A. 仅Ⅲ B. 仅Ⅰ、Ⅱ C. 仅Ⅱ、Ⅲ、Ⅳ D. Ⅰ、Ⅱ、Ⅲ、Ⅳ

[tag_link]

正确答案:D

当数据规模较小时可选择是复杂度为O(n2)的简单排序算法,当数据规模较大时应选择复杂度为O(nlog2 n)的排序方法,当数据规模大到内存无法放下时需选择外部排序方法,Ⅰ 正确。数据的存储方式主要分为顺序存储和链式存储,有些排序方法(如堆排序)只能用于顺序存储方式,Ⅱ 正确。若对数据稳定性有要求,则不能选择不稳定的排序方法,Ⅲ 显然正确。当数据初始基本有序时,直接插入排序的效率最高,冒泡排序和直接插入排序的时间复杂度都是O(n),而归并排序的时间复杂度依旧是O(nlog2 n),Ⅳ 正确。所以选 D。