完全二叉樹、二叉查找樹、平衡二叉查找樹、紅黑樹

一、 完全二叉樹

完全二叉樹是一種特殊的二叉樹,滿足以下要求:

1.所有葉子節點都出現在 k 或者 k-1 層,而且從 1 到 k-1 層必須達到最大節點數;

2. 第 k 層可以不是滿的,但是第 k 層的所有節點必須集中在最左邊。

需要注意的是不要把完全二叉樹和“滿二叉樹”搞混了,完全二叉樹不要求所有樹都有左右子樹,但它要求:

3. 任何一個節點不能只有右子樹沒有左子樹

4. 葉子節點出現在最後一層或者倒數第二層,不能再往上

用一張圖對比下“完全二叉樹”和“滿二叉樹”:


完全二叉樹、二叉查找樹、平衡二叉查找樹、紅黑樹

左邊為完全二叉樹,右邊為滿二茶樹

完全二叉樹使用場景:

根據前面的學習,我們瞭解到完全二叉樹的特點是:“葉子節點的位置比較規律”。因此在對數據進行排序或者查找時可以用到它,比如堆排序就使用了它。

二、二叉查找樹、平衡二叉查找樹、紅黑樹


完全二叉樹、二叉查找樹、平衡二叉查找樹、紅黑樹


分享到:


相關文章: