除根節點外,其他節點有且只有一個父節點。數組
節點的度:每一個節點的子節點個數。數據結構
樹的度:樹內各個節點的度的最大值。spa
樹的高度(深度):樹中節點的最大層次稱爲樹的深度。blog
節點路徑:一個節點到另一個節點的連線(樹種該路徑有且只有一條)。例如:B到J節點若是有兩條路徑,那麼該結構就不是樹。im
子樹:除根節點外的節點就是子樹。d3
葉子結點:一棵樹當中沒有子結點的結點稱爲葉子結點(即度爲0的節點),簡稱「葉子」。鏈表
堂兄弟節點:雙親在同一層的節點互爲堂兄弟;數據
順序分:db
有序樹:樹中節點的各子樹從左至右是有序的、且不能互換。img
無序樹:樹中節點的各子樹從左至右是無序的、且能互換。
簡單的順序存儲是沒法知足樹的要求,通常咱們結合順序存儲與鏈式存儲來實現。
經常使用三種方式
一、雙親表示發
註釋:下標一列咱們能夠看成是順序存儲經過parent 記錄父類的位置;該方式咱們咱們找某個元素的父元素很簡單,可是找子元素就相對複雜。
二、雙親孩子表示法
註釋:該方式將雙親表示發與孩子表示法相結合 數組+鏈表 (HashMap的數據結構),該方式找孩子節點簡單。
三、孩子兄弟表示發
註釋:該方式找元素的子元素容易,但找父元素相對複雜。