一個資料結構,如果他是沒有「循環」 (Cycle
) 在內的,那他可以被拉成「樹」
如果存在「循環」在內,那他就叫「圖」
因此我們可以稱「樹是一種圖」
以下的術語,我們會以搭配這張圖來輔助說明
假設我是節點
D
Parent Node(父節點)
D
的父節點為 B
Child Node(子節點)
D
的子節點為 H
, I
Sibling Node(兄弟節點)
D
的兄弟節點為 E
Root Node(根節點)
A
Leaf Node(葉節點) / Terminal Node(終端節點)
F
, G
, H
, I
, J
Degree(Leaf Node) = 0
Level of Root = 1
Level of Child Node
= Level of Parent Node + 1
Width of Level 2 = 4
Breadth of this tree = 5
二元樹(Binary Tree):簡稱
BT
二元搜尋樹(Binary Search Tree) :簡稱
BST
「二元搜尋樹」 是一種 「二元樹」( BST
<= BT
<= Tree
)
所以,二元搜尋樹需要先滿足二元樹的條件!
簡單來說,每一個節點最多有兩個分岔
一個節點的家族關係:
Parent Node(父節點):
樹根(root)
Child Node(子節點):
樹葉(leaf)
Sibling Node(兄弟節點):
假設一棵樹有 n 個節點,這些節點必須「由左而右」、「由上而下」放置
Which is a Complete Tree?
(A)
(B)
為什麼不是 (A) ?
D
的 右子節點仍是空的,不能先往右放置新節點
h
的樹有 1 + 2 + 4 + ... + 2^(h-1)
個節點Complete Binary Tree
>= Full Binary Tree
接下來,我們會把重點放在「二元搜尋樹」上。