將一棵樹轉換成二叉樹的方法:
1.樹中所有相鄰兄弟之間加一條連線;
2.對樹中的每個結點,只保留它與第乙個兒子結點之間的連線,刪去它與其他兒子結點之間的連線。
3.依樹的根結點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明
將一棵二叉樹還原為樹的方法:
1.若某結點是其雙親的左兒子,則把該結點的右兒子、右兒子的右兒子、…都與該結點的雙親結點用線連線起來;
2.刪掉原二叉樹中所有的雙親結點與右兒子結點的連線;
3.整理由1、2兩步所得到的樹,使之結構層次分明。
兩種樹的遍歷方式:先根遍歷和後根遍歷
先根遍歷:
1.訪問根結點
2.按照從左到右的順序先根遍歷結點的每一棵子樹。
後根遍歷:
1.按照從左到右的順序後根遍歷根結點的每乙個子樹
2.訪問根結點。
樹的先根遍歷與其轉換的相應二叉樹的前序遍歷的結果序列相同
樹的後根遍歷與其轉換的相應二叉樹的中序遍歷的結果序列相同
樹和二叉樹 二 二叉樹的順序儲存
順序儲存結構型別定義 define virnode 0 定義虛節點值 define max tree size 100 定義儲存空間最大值 typedef char elemtype 定義節點值型別 typedef elemtype sqbittree max tree size sqbittree...
樹 森林和二叉樹的轉換
樹轉換為二叉樹 1 加線。在所有兄弟結點之間加一條連線。2 去線。樹中的每個結點,只保留它與第乙個孩子結點的連線,刪除它與其它孩子結點之間的連線。3 層次調整。以樹的根節點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明。注意第乙個孩子是結點的左孩子,兄弟轉換過來的孩子是結點的右孩子 森林轉換為...
樹 森林和二叉樹的轉換
樹轉換為二叉樹 1 加線。在所有兄弟結點之間加一條連線。2 去線。樹中的每個結點,只保留它與第乙個孩子結點的連線,刪除它與其它孩子結點之間的連線。3 層次調整。以樹的根節點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明。注意第乙個孩子是結點的左孩子,兄弟轉換過來的孩子是結點的右孩子 森林轉換為...