经典指数          
原因
5369
浏览数
0
收藏数
 

设有5000个待排序的记录的关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列哪个方法可以达到此目的()
  • 快速排序
  • 堆排序
  • 归并排序
  • 插入排序

     举报   纠错  
 
切换
1 个答案
首先,这个题的宗旨是以最短的时间达到局部有序!!!!! 所以应用堆排序这样处理: 取出10个数先进行堆排序。 依次遍历剩下的5000-10个数,每读一个数,跟堆里最大的数进行比较,如果比堆里的最大数还大,将其舍弃读下一个数,如果比堆里的最大数小,删除最大数,将其插入到原最大数位置,并进行堆排序。 重复2中步骤直至5000-10个数遍历完成。 这种做法的堆排序实际上并没有将5000个数全部变为有序。 显然其他排序方法无法达到这样的效果。
 
切换
撰写答案
扫描后移动端查看本题