选择一个排序算法时,除算法的时空效率,下列因素中,还需要考虑的是( )。 Ⅰ.数据的规模 Ⅱ.数据的存储方式 Ⅲ.算法的稳定性 Ⅳ.数据的初始状态

admin2020-06-17  48

问题 选择一个排序算法时,除算法的时空效率,下列因素中,还需要考虑的是(          )。
Ⅰ.数据的规模   
Ⅱ.数据的存储方式
Ⅲ.算法的稳定性   
Ⅳ.数据的初始状态

选项 A、仅Ⅲ
B、仅Ⅰ、Ⅱ
C、仅Ⅱ、Ⅲ、Ⅳ
D、Ⅰ、Ⅱ、Ⅲ、Ⅳ

答案D

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

相关试题推荐
最新回复(0)