一、 完全二叉樹
完全二叉樹是一種特殊的二叉樹,滿足以下要求:
1.所有葉子節點都出現在 k 或者 k-1 層,而且從 1 到 k-1 層必須達到最大節點數;
2. 第 k 層可以不是滿的,但是第 k 層的所有節點必須集中在最左邊。
需要注意的是不要把完全二叉樹和“滿二叉樹”搞混了,完全二叉樹不要求所有樹都有左右子樹,但它要求:
3. 任何一個節點不能只有右子樹沒有左子樹
4. 葉子節點出現在最後一層或者倒數第二層,不能再往上
用一張圖對比下“完全二叉樹”和“滿二叉樹”:
完全二叉樹使用場景:
根據前面的學習,我們瞭解到完全二叉樹的特點是:“葉子節點的位置比較規律”。因此在對數據進行排序或者查找時可以用到它,比如堆排序就使用了它。
二、二叉查找樹、平衡二叉查找樹、紅黑樹
閱讀更多 流水年華歲月靜好 的文章