算法-java-優先隊列

1.優先隊列(堆 heaps):通常把二叉堆當做堆的基本實現

結構性質:除最底層外,是個被完全填滿的二叉樹,若高度爲h,即節點個數爲2^{h}----2^{h+1}-1;即完全二叉樹

堆序性質:根節點小於它的左右節點;

基本堆操作:堆的插入和刪除最小操作,插入即先插入一個空穴放到最後,然後依次上濾;刪除即刪除根節點之後,依次將空穴下濾。

其他堆操作:增加關鍵字值、減少關鍵字值、刪除、構建堆

理想二叉樹的節點數是2h+1-1個節點,即每個節點都是2個兒子,除底層外。

2.d-堆

   每個節點對多有d個兒子,故稱之爲d-堆

3.左式堆

4.左式堆性質:不需要滿足完全二叉樹的性質,而且左節點零路徑長(到某個無兒子或1兒子節點的最短路徑)大於等於有節點的零路徑長。

5.斜堆

6.二項隊列,單節點爲樹是一個高度爲0的二項樹,將B^{k-1}加到B^{k-1}的根節點上,可以構成B^{k}7.java中提供了,PriorityQueue類來處理優先隊列

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章