堆 求最数大最小前k个sh

用堆在海量数据中找出最大或最小的k个数,效率非常高。 1、在一组数据中找出最小的k个数 解题思路:     要找出最小的k个数,我们可以先用这组数据中的k个数构建一棵“最大堆”,然后再将剩下的元素与堆顶元素相比。如果大于堆顶元素,则不做处理,继续向下比较。如果小于堆顶元素,则将堆顶元素与这个元素交换,然后再恢复堆序,继续向下比较。这样的话最后这个堆里面保存的就是最小的k个数。 例:在{10,16,
相关文章
相关标签/搜索