堆 求最數大最小前k個sh

用堆在海量數據中找出最大或最小的k個數,效率非常高。 1、在一組數據中找出最小的k個數 解題思路:     要找出最小的k個數,我們可以先用這組數據中的k個數構建一棵「最大堆」,然後再將剩下的元素與堆頂元素相比。如果大於堆頂元素,則不做處理,繼續向下比較。如果小於堆頂元素,則將堆頂元素與這個元素交換,然後再恢復堆序,繼續向下比較。這樣的話最後這個堆裏面保存的就是最小的k個數。 例:在{10,16,
相關文章
相關標籤/搜索