圖解二叉樹

不同類型的二叉樹與彩色插圖,識別那些令人困惑的二叉樹類型的有用指南

圖解二叉樹

Types of Binary Tree || Designed by Anand K Parmar

二叉樹是一個樹數據結構,其中每個節點最多具有2個子節點。 二叉樹有幾種類型,它們的名稱讓人難以記住。

我寫這篇文章是為了瞭解5種常用的二叉樹類型。 我不只是編寫定義,還為任何特定類型的有效和無效樹結構添加了漂亮的插圖。

1.全二叉樹

完整二叉樹是一個二叉樹,其中每個節點都有0或2個子節點。

圖解二叉樹

Valid and Invalid Structure of Full Binary Tree || Designed by Anand K Parmar

有趣的事實:對於完整的二叉樹,以下等式始終為真。

葉子節點數=內部節點數+ 1

2.完全的二叉樹

完全的二叉樹具有除最後一級以外的所有等級的節點,並且在最後一級中,所有節點都儘可能位於左側。

圖解二叉樹

Valid and Invalid Structure of Complete Binary Tree || Designed by Anand K Parmar

有趣的事實:二叉堆是完全二叉樹的重要用例。

3.完美的二叉樹

完美二叉樹是一種二叉樹,其中所有內部節點都有2個子節點,並且所有葉節點處於相同的深度或相同的級別。

圖解二叉樹

Valid and Invalid Structure of Perfect Binary Tree || Designed by Anand K Parmar

有趣的事實:高度為H的完美二叉樹中的節點總數為2 ^ H_1。

4.平衡二叉樹

平衡二叉樹是一種二叉樹,其中每個節點的左子樹和右子樹的高度最多相差1。

圖解二叉樹

Valid and Invalid Structure of Balanced Binary Tree|| Designed by Anand K Parmar

有趣的事實:AVL樹和紅黑樹是眾所周知的數據結構,用於生成/維護平衡二叉搜索樹。 搜索,插入和刪除操作的時間為O(log n)。

5.退化(或病理)二叉樹

簡併二叉樹是一個二叉樹,其中每個父節點只有一個子節點。

圖解二叉樹

Valid and Invalid Structure of Degenerate Binary Tree|| Designed by Anand K Parmar


有趣的事實:簡併二叉樹的高度等於該樹中節點的總數。


(本文翻譯自Anand K Parmar的文章《Different Types of Binary Tree with colourful illustrations》,參考:https://towardsdatascience.com/5-types-of-binary-tree-with-cool-illustrations-9b335c430254)


分享到:


相關文章: