单选题
1分
下列排序方法中,最坏情况下时间复杂度(即比较次数)低于O(n^2)的是()。
参考答案: B
参考解析: 对长度为n的线性表排序,下表为常用排序方法最坏情况的时间复杂度:
方法 最坏情况时间
冒泡排序 O(n^2)
简单插入排序 O(n^2)
简单选择排序 O(n^2)
快速排序 O(n^2)
堆排序 O(nlog2n)
上表中未包括希尔排序,因为希尔排序的时间效率与所取的增量序列有关,如果增量序列为:d1=n/2, di+1=di/2,在最坏情况下,希尔排序所需要的比较次数为O(n^1.5)。最坏情况下,时间复杂度低于O(n^2)的排序算法有堆排序和希尔排序。B选项正确。