Tree(樹): Intro(簡介)

📍 基本觀念

**Tree(樹)**是由一個或多個節點(node)所組成的有限集合,並且滿足:

  1. 存在且只有一個稱為root(樹根)的節點
  2. 其餘的節點可以分割成任意正整數個(包含零個)互斥(disjoint)的集合:T1、...、Tn,其中每一個集合也都滿足樹的定義,這些集合又稱為這棵樹的subtree(子樹)。

下面4個圖中,只有(A)(B)是樹

(B)即便數退化成linked list,依舊滿足樹的定義,因此仍算樹

(C)因為在F節點出現兩個parent node,且H節點出現cycle,因此不符合樹的定義

(D)一棵樹只能有一個root,這邊有兩個,因次不滿足樹的定義。但卻可以看成兩個獨立的樹,因此(D)也是一個樹林 Forest

📍 專有名詞

針對 Node