優先隊列

堆就是用數組實現的二叉樹,所有它沒有使用父指針或者子指針。堆根據“堆屬性”來排序,“堆屬性”決定了樹中節點的位置。

堆的常用方法:

  • 構建優先隊列
  • 支持堆排序
  • 快速找出一個集合中的最小值(或者最大值)

堆屬性

堆分爲兩種:最大堆最小堆(小頂堆和大頂堆),兩者的差別在於節點的排序方式。

在最大堆中,父節點的值比每一個子節點的值都要大。在最小堆中,父節點的值比每一個子節點的值都要小。這就是所謂的“堆屬性”,並且這個屬性對堆中的每一個節點都成立。

例子:

優先隊列的出隊順序是按照優先級來的

發佈了26 篇原創文章 · 獲贊 56 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章