Get K maximum data among N data

从个数为N的数据集合中找出K个最大值

较快的算法是:
  1. 建一个数据量为K的最小堆, 并初始化为可能的最小值。
  2. 从待搜索的数据中逐一和上述堆顶元素比较:若小于等于堆顶,则弃之;若大于堆顶,则使之替代堆顶。
  3. 在新的堆中找出最小值置于堆顶。
  4. 重复2, 3直至第N的数据。
  5. 现在堆中的元素就是所要找的K个最大值。

1 Comments:

yonglisey said...

结婚后才发现自己无法怀孕,非常伤心,但听朋友们的介绍一家代孕服务听起来好象不错彼奥泰珂斯研究中心,就去尝试,这家可说是一级棒!他们拥有拥有广泛的数据库最好的鸡蛋捐赠者,也有多语种工作人员,这绝对没有年龄上的限制,也有最好的代孕妈妈给你选择,还提供客户舒适环境的住宿,饱满的三餐和司机载送。