题目
14[单选题]下列排序方法中,最坏情况下比较次数最少的是( )。A. 冒泡排序B. 简单选择排序C. 直接插入排序D. 堆排序
14[单选题]下列排序方法中,最坏情况下比较次数最少的是( )。
A. 冒泡排序
B. 简单选择排序
C. 直接插入排序
D. 堆排序
题目解答
答案
D. 堆排序
解析
本题考察常见排序算法的最坏情况下的比较次数。
各排序算法最坏情况比较次数分析:
- 冒泡排序:通过相邻元素比较交换,最坏最坏情况(逆序)下,比较次数为为 $O(n^2)$,具体为 $\frac{n(n-1)}{2}$。
- 简单选择排序:每次遍历选择最小元素,最坏情况比较次数仍为 $O(n^2)$,具体为 $\frac{n(n-1)}{2}$。
- 直接插入排序:逆序时每次插入都需比较全部已排序元素,最坏情况比较次数为 $O(n²),具体为 \(\frac{n(n-1)}{2}$。
- 堆排序:基于堆结构的选择排序,构建堆时间 $O(n)$,排序阶段每次调整堆时间 $O(\log n)$,总最坏时间复杂度 $O(n\logn)$,比较次数显著少于前三者的 $O(n^2)$。