資料結構 樹 二叉樹和森林的相互轉換

2021-10-24 12:14:41 字數 843 閱讀 8604

①加線:樹中所有相鄰兄弟加一條線

②去線:對於樹中的每個結點,只保留與其第乙個孩子結點之間的連線,刪去與其他孩子結點的連線

③旋**以樹的根結點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明,即可得到二叉樹

①加線:將樹中每個結點和其左孩子結點的右孩子以及右孩子結點的左孩子加線相連

②去線:去掉樹中的每個結點和右孩子的連線

③旋**以樹的根結點為軸心,將整棵樹逆時針旋轉一定角度,使之結構層次分明,即可得到樹

二、森林和二叉樹的相互轉換

(1)二叉樹轉換成森林

①加線:將二叉樹中每個結點和其左孩子結點的右孩子加線相連

②去線:去掉樹中的每個結點和右孩子的連線

③旋**以樹的根結點為軸心,將整棵樹逆時針旋轉一定角度,使之結構層次分明,即可得到森林

(2)森林轉換成二叉樹 

①加線:森林中所有相鄰兄弟加一條線

②去線:對於森林中的每個結點,只保留與其第乙個孩子結點之間的連線,刪去與其他孩子結點的連線

③旋**以樹的根結點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明,即可得到二叉樹

樹 森林和二叉樹的相互轉換

普通樹轉換為二叉樹步驟如下 加線,在所有兄弟結點之間加一條連線 去線,對樹中每個結點,只保留它與第一孩子結點的連線,刪除它與其它孩子結點之間的連線 層次調整,以樹的根節點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明 森林轉化為二叉樹的步驟如下 將森林中的每棵樹轉換為二叉樹 將各二叉樹的根結點...

森林 樹與二叉樹相互轉換

1 森林轉二叉樹 1 把每棵樹轉換為二叉樹 2 第一棵二叉樹不動,從第二棵二叉樹開始,一次把後一棵二叉樹的根結點作為前一棵二叉樹的根結點的右孩子,用線連線起來。轉換規則 兄弟相連,長兄為父,孩子靠左。2 樹轉二叉樹 1 加線。在所有的兄弟結點之間加一條線。2 去線。樹中的每個結點,只保留它與第乙個孩...

樹 森林與二叉樹相互轉換

本文參考自 大話資料結構 加線,在所有兄弟結點之間加一條連線 去線。對樹中每個結點,只保留它與第乙個孩子結點的連線,刪除它與其他孩子結點之間的連線 層次調整。以樹的根結點為軸心,將整棵樹順時針旋轉一定的角度,使之結構層次分明。注意第乙個孩子是二叉樹的左孩子,兄弟轉換過來的孩子是結點的右孩子。森林由若...