樹狀結構 (TREE)
非線性資料結構,資料間藉由分支 (branch) 組成階層式
的關係 (hierarchical relationship),或包含關係 (inclusion
relationship) 。
董事長
總經理
研發部
會計室
人事室 生產部 業務部
祖父母
叔叔嬸嬸
堂妹
姑姑
父母
哥哥 小明
樹狀結構的定義
樹是由一個或多個節點構成的有限集合,並且
1. 有一個特定節點稱為
樹根 (root)
。
2. 其餘節點分成n (n >= 0) 個互斥集合,這些互斥
集合又都是一棵樹,稱為樹根節點的
子樹 (subtree)
A
J
H
G I
D
F
E
B C
A
J
H
G I
D
F
E
B C
樹根
三棵互斥
子樹
下列何者為樹狀結構?為什麼?
A
B C
(A)
A
B C
(B)
A
B C
(C)
解:
(1)非樹狀結構,因節點A的子樹不互斥,即有迴圈。
(2)非樹狀結構,因節點C與節點A或B皆不相連。
(3)為樹狀結構。
(4)非樹狀結構,因節點A與B有重邊。
A
B C
(D)
常用名詞
節點 (node):資料與分支 (branch)。
樹根節點 (root node)
分支度 (degres)
父親節點 (father node)
兒子節點 (son node)
兄弟節點 (brother node)
祖先節點 (ancestors node)
後代節點 (descentdants node)
樹葉節點 (leaf node)
非樹葉節點 (nonleaf node)
階度 (level)
高度 (height)
A
C
B
E F
D
H I J
M
G
K L
13個節點
樹根為節點A
節點D其分支度為3
節點L的分支度為0
節點M的父親節點則為H
節點D的兒子節點有節點H, I, J
節點B的兄弟節點有節點C, D
M的祖先節點有H, D, A
B的後代節點有E, F, K, L
樹葉節點有K, L, F, G, M, I, J
非樹葉節點有A, B, C, D, E, H
H之階度為3
階度2上共有3個節點,分別是B, C, D
樹其高度為4。