5 7樹和二叉樹的轉換及樹的儲存結構

2021-08-06 04:30:12 字數 560 閱讀 2716

將一棵樹轉換成二叉樹的方法:

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 層次調整。以樹的根節點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明。注意第乙個孩子是結點的左孩子,兄弟轉換過來的孩子是結點的右孩子 森林轉換為...