郝斌資料結構入門--P60--樹的定義與分類
阿新 • • 發佈:2018-11-18
郝斌資料結構入門--P60--樹
樹和森林就是以遞迴的方式定義的。
樹和圖的很多演算法都是以遞迴來實現的。
非線性結構-----樹
樹的定義
專業定義:
1.有且只有一個稱為根的節點
2.有若干個互不相交的子樹,這些子樹本身也是一棵樹
通俗的定義:
1.樹是由節點和邊組成
2.每個節點只有一個父節點,但可以有多個子節點
3.但有一個節點例外,該節點沒有父節點,此節點稱為根節點
專業術語:
節點、父節點、子節點、子孫、堂兄弟、
深度:從根節點到最底層節點的層數
葉子節點:沒有子節點的節點
非終端節點:實際就是非葉子節點
度:子節點的個數
樹的分類
一般樹:任意一個節點的子節點的個數不受限制
二叉樹:任意一個節點的子節點個數最多兩個,且子節點的位置不可更改
二叉樹的分類:
一般二叉樹:
滿二叉樹:在不增加樹的層數的前提下,無法再多新增一個節點的二叉樹
完全二叉樹:如果只是刪除了滿二叉樹最底層最右邊的連續若干個節點,形成了的二叉樹
(完全二叉樹包含了滿二叉樹,滿二叉樹是完全二叉樹的一個特例)
森林:n個互不相交的樹的集合