[Algorithm] How to use Max Heap to maintain K smallest items

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Algorithm] How to use Max Heap to maintain K smallest items相关的知识,希望对你有一定的参考价值。

?????????int   ems   using   color   use   whether   struct   put   replace   

Let???s say we are given an array:

[4,1,5,2,3,0,10]

We want to get K = 3 smallest items from the array and using Max heap data structure.

 

So this is how to think about it.

1. We take first K items put it into Max Heap:

     5

  /     

4          1

 

2. Then we move forward to next element ???2??? in the array, we check

  • Whether 2 is smaller than current max item in heap, which is ???5???, if yes, then replace 5 with 2
  • Then re-arrange the heap

     4

   /            

 2         1

3. Repeat the process for items [3,0]

     3????????????????????????2

   /                       /??????

 2         1              0????????????1

4. When the item is ???10??? which is larger than current max ???2???, we just ingore it.

5. In the end, we got K smallest items, we just need to print it out. (K smallest items are not ncessary in order)

以上是关于[Algorithm] How to use Max Heap to maintain K smallest items的主要内容,如果未能解决你的问题,请参考以下文章

How to use Fiddler to monitor WCF service

How to use MJRefresh

How to Use SFTP ?

Learn how to use Latex.

How to use GITHUB to do source control

How to use GITHUB to do source control