樹 森林與二叉樹的轉換

2022-09-16 19:48:15 字數 754 閱讀 8746

1.樹轉換為二叉樹

1)在兄弟節點之間加一條連線

2)對每個節點,只保留它與第乙個孩子的連線,與其他孩子的連線全部擦掉

3)以樹根為軸心,順時針旋轉45度

2.森林轉換為二叉樹

1)將森林中的每棵樹轉換為相應的二叉樹

2)每棵樹的根也可以視為兄弟關係,在每棵樹的根之間加一根連線

3)以第一棵樹的根為軸心順時針旋轉45度

1)若某結點的左孩子結點存在,將左孩子結點的右孩子結點、右孩子結點的右孩子結點……都作為該結點的孩子結點,

將該結點與這些右孩子結點用線連線起來;

2)刪除原二叉樹中所有結點與其右孩子結點的連線;

3)整理(1)和(2)兩步得到的樹,使之結構層次分明

4.二叉樹轉換為森林

1)若二叉樹非空,則二叉樹的根及其左子樹為第一棵樹的二叉樹形式,故將根的右鏈斷開

2)二叉樹根的右子樹可視為乙個由除第一棵樹外的森林轉換後的二叉樹,應用1)同樣的方法,直到只剩一顆沒有右子樹的二叉樹為止,  

最後再將每棵二叉樹依次轉換為樹就得到了原始森林

樹 森林與二叉樹的轉換

1 加線。在所有兄弟節點之間加一條線。2 去線。對樹中每個節點,只保留它與第乙個孩子節點的連線,刪除它與其他孩子節點之間的連線。3 層次調整。以樹的根節點為軸心,將整顆樹順時針旋轉一定的角度,使之結構層次分明。注意第乙個孩子是二叉樹節點的左孩子,兄弟轉換過來的孩子是節點的右孩子。1 把每個樹轉換為二...

樹 森林與二叉樹的轉換

樹或森林與二叉樹之間有乙個自然的一一對應關係。任何乙個森林或一棵樹可惟一地對應到一棵二叉樹 反之,任何一棵二叉樹也能惟一地對應到乙個森林或一棵樹。1 樹 森林到二叉樹的轉換 1 將樹轉換為二叉樹 樹中每個結點最多只有乙個最左邊的孩子 長子 和乙個右鄰的兄弟。按照這種關係很自然地就能將樹轉換成相應的二...

樹 森林與二叉樹的轉換

1 樹轉換為二叉樹 將樹轉換為二叉樹的步驟如下 1 加線。在所有兄弟結點之間加一條連線。2 去線。對樹中每個結點,只保留它與第乙個孩子結點的連線,刪除它與其他孩子結點之間的連線。3 層次調整。以樹的根結點為軸心,將整棵樹順時針旋轉一定的角度,使之結構層次分明。注意第乙個孩子是二叉樹結點的左孩子,兄弟...