樹
樹的基本概念
節點的度:子樹的個數
樹的度:全部節點度中的最大值
葉子節點:度爲0的節點
非葉子節點:度不爲0的節點
一棵樹能夠沒有任何節點,稱爲空樹
一棵樹能夠只有一個節點,也就是隻有根節點
層數:根節點在第一層,根節點的子節點在第2層,以此類推
節點的深度:從根節點到當前節點的惟一路徑上的節點總數
節點的高度:當前節點到最遠葉子節點的路徑上的節點總數
有序樹
無序樹
樹中任意節點的子節點之間沒有順序關係,也稱爲自由樹
森林
二叉樹的特色
每一個節點的度最大爲2(作多擁有2棵子樹)
左子樹和右子樹是有順序的(也就是說二叉樹是有序的)
即便某節點只有一顆子樹,也要區分左右子樹
二叉樹的性質
非空二叉樹的第i層,最多有2的(i-1)個節點(i >= 1)
在高度爲h的二叉樹最多有2的h次方-1個節點(h >= 1)
真二叉樹
滿二叉樹
滿二叉樹:最後一層節點的度都爲0,其餘節點的度都爲2
在一樣高度的二叉樹中,滿二叉樹的葉子節點數量最多、總節點數量最多
滿二叉樹必定是真二叉樹,真二叉樹不必定是滿二叉樹
徹底二叉樹
徹底二叉樹:對節點從上至下、左至右開始編號,其全部編號都能與相同高度的滿二叉樹中編號對應
徹底二叉樹的性質:
葉子節點只會出現最後2層,最後1層的葉子節點都靠左對齊
徹底二叉樹從根節點至倒數第2層是一棵滿二叉樹
滿二叉樹必定是徹底二叉樹,徹底二叉樹不必定是滿二叉樹
度爲1的節點只有左子樹
度爲1 的節點要麼是1個,要麼是0個
一樣節點數量的二叉樹,徹底二叉樹的高度最小