问答题
简答题
如果只想得到一个序列中第k个最小元素之前的部分排序序列,最好采用什么排序方法?为什么?对于序列{57,40,38,11,13,34,48,75,25,6,19,9,7},得到其第4个最小元素之前的部分序列{6,7,9,11},使用所选择的排序算法时,要执行多少次比较?
【参考答案】
采用堆排序最合适,依题意可知只需取得第k个最小元素之前的排序序列时,堆排序的时间复杂度Ο(n+klog2......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
点击查看答案
相关考题
-
单项选择题
对数列(25,84,21,47,15,27,68,35,20)进行排序,元素序列的变化情况如下: ⑴25,84,21,47,15,27,68,35,20 ⑵20,15,21,25,47,27,68,35,84 ⑶15,20,21,25,35,27,47,68,84 ⑷15,20,21,25,27,35,47,68,84 则采用的排序方法是()。
A.希尔排序
B.简单选择排序
C.快速排序
D.归并排序 -
单项选择题
用直接插入排序对下面四个序列进行由小到大排序,元素比较次数最少的是()。
A.94,32,40,90,80,46,21,69
B.21,32,46,40,80,69,90,94
C.32,40,21,46,69,94,90,80
D.90,69,80,46,21,32,94,40 -
单项选择题
排序趟数与序列的原始状态有关的排序方法是()。
A.直接插入排序
B.简单选择排序
C.快速排序
D.归并排序
