樹轉換為二叉樹
(1)加線。在所有兄弟結點之間加一條連線。
(2)去線。樹中的每個結點,只保留它與第乙個孩子結點的連線,刪除它與其它孩子結點之間的連線。
(3)層次調整。以樹的根節點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明。(注意第乙個孩子是結點的左孩子,兄弟轉換過來的孩子是結點的右孩子)
森林轉換為二叉樹
(1)把每棵樹轉換為二叉樹。
(2)第一棵二叉樹不動,從第二棵二叉樹開始,依次把後一棵二叉樹的根結點作為前一棵二叉樹的根結點的右孩子,用線連線起來。
二叉樹轉換為樹
是樹轉換為二叉樹的逆過程。
(1)加線。若某結點x的左孩子結點存在,則將這個左孩子的右孩子結點、右孩子的右孩子結點、右孩子的右孩子的右孩子結點…,都作為結點x的孩子。將結點x與這些右孩子結點用線連線起來。
(2)去線。刪除原二叉樹中所有結點與其右孩子結點的連線。
(3)層次調整。
二叉樹轉換為森林
假如一棵二叉樹的根節點有右孩子,則這棵二叉樹能夠轉換為森林,否則將轉換為一棵樹。
(1)從根節點開始,若右孩子存在,則把與右孩子結點的連線刪除。再檢視分離後的二叉樹,若其根節點的右孩子存在,則連線刪除…。直到所有這些根節點與右孩子的連線都刪除為止。
(2)將每棵分離後的二叉樹轉換為樹。
資料結構 樹 森林和二叉樹的轉換
樹轉換為二叉樹 1 加線。在所有兄弟結點之間加一條連線。2 去線。樹中的每個結點,只保留它與第乙個孩子結點的連線,刪除它與其它孩子結點之間的連線。3 層次調整。以樹的根節點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明。注意第乙個孩子是結點的左孩子,兄弟轉換過來的孩子是結點的右孩子 森林轉換為...
資料結構 樹 二叉樹和森林的相互轉換
加線 樹中所有相鄰兄弟加一條線 去線 對於樹中的每個結點,只保留與其第乙個孩子結點之間的連線,刪去與其他孩子結點的連線 旋 以樹的根結點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明,即可得到二叉樹 加線 將樹中每個結點和其左孩子結點的右孩子以及右孩子結點的左孩子加線相連 去線 去掉樹中的每個...
資料結構 樹 與 二叉樹 森林
一 常用術語 1 樹的節點 2 節點路徑 從根節點到該節點所經歷的節點和分支的順序。3 路徑長度 節點路徑包含的分支數。4 節點的度 節點擁有的子樹的數目。5 樹的度 所有節點的度 中 的最大值。6 葉子節點 終端節點 樹中 節點的度為0的節點。7 分支節點 非終端節點 樹中 節點的度不為0的節點。...