直接插入排序算法 最高效的排序算法?

最高效的排序算法?一道java面试题,20亿数字的文本排序,如何取前100?由于是Java问题,这就是经典的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整

最高效的排序算法?

一道java面试题,20亿数字的文本排序,如何取前100?

由于是Java问题,这就是经典的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度为K,时间复杂度为nlogk