天天看點

二叉堆 binary heap (2) 利用小根堆求最大 top k 優先隊列 PriorityQueue

使操作被快速執行的性質是堆序(heap order)性. 由于我們想要快速地找出最小元,是以最小元應該在根上.

類似的,可以聲明一個max堆,找到和删除最大元

     在一個堆中,對于每一個節點X,X的parent中的關鍵字<=X中的關鍵字, 根節點除外(它沒有parent).

* Heap/BinMinHeap.php

* Heap/TopK.php

* util/Comparator.php

* autoload.php

* index.php

* test

$ php index.php 

[{"char":"e","freq":16},{"char":"f","freq":45}]

[{"char":"f","freq":45},{"char":"g","freq":50}]

{capacity: 2, size: 2, elements: [{"char":"f","freq":45},{"char":"g","freq":50}]}

THESPLPRIORITYQUEUECLASS

UYU