C++堆用法詳解

2020-07-16 10:05:19
堆(heaps)是一種特殊的資料組織方式,STL 中的 priority_queue 容器介面卡底層就是採用堆來組織資料儲存的。為了弄明白堆是什麼,首先要搞清楚什麼是樹儲存結構。

是分層排列的元素或節點。每個節點有一個鍵,它是節點中所儲存的物件,就如同連結串列中的節點。父節點是有一個或兩個子節點的節點。一般父節點可以有任意個數的子節點,樹中的父節點不需要有相同個數的子節點。沒有子節點的節點叫作葉節點。一般父節點的鍵與其子節點有一些關係。樹都有一個根節點,它是樹的基礎,從根節點可以到達所有的子節點。


圖 1 二元樹範例