设有15 000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素。在快速排序、堆排序、归并排序、基数排序和希尔排序中,宜采用哪种方法并说明理由?

admin2018-08-12  34

问题 设有15 000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素。在快速排序、堆排序、归并排序、基数排序和希尔排序中,宜采用哪种方法并说明理由?

选项

答案上面所说的几种排序方法中,排序速度都很快,但快速排序、归并排序、基数排序和希尔排序都是在排序结束后才能确定数据元素的全部序列,而排序过程中无法知道部分连续位置上的最终元素。而堆排序则是每次输出一个堆顶元素(即最大或最小值的元素),然后对堆进行再调整,保证堆顶元素总是当前剩下元素的最大或最小的,从而可知,如果在一个大量数据的文件中,如含有15 000个元素的记录文件中选取前10个最大的元素,宜采用堆排序。

解析
转载请注明原文地址:https://kaotiyun.com/show/9uRi777K
0

最新回复(0)