设有 5000 个待排序的记录关键字,如果需要用最快的方法选出其中最小的 10 个记录关键字,则用下列( )方法可以达到此目的。
(A) 快速排序
(B) 堆排序
(C) 归并排序
(D) 插入排序
前边有个题:
设有n(n为大于10000的整数)个无序元素,希望用最快速度从中选择前k(1≤k≤n)个关键字最小的元素,在以下排序方法中应选择 快速排序
这个题答案又是堆排序,不知道这两个题有什么区别。有合理推理的可以在下边讨论讨论,没有推理上来就给我扔结论的还是谢谢不必讨论了。
用最小堆排序 ,只要在初始堆的基础进行10次筛选,每次筛选的时间复杂度为O(log2n),其他的排序都要把5000个元素都进行排序才可以选出最小的。
zhangbou 回复 哔哔哔: 如果待排序元素的个数比较少时,比如20个,选是个最小的,那就是快速排序
B
用户登录可进行刷题及查看答案
登录后提交答案