樹與二叉樹的轉換

2021-08-21 18:25:24 字數 586 閱讀 6624

樹和二叉樹不同,可以有0到n個孩子,所以實現起來很麻煩,但我們可以借助樹的孩子兄弟表示法把樹轉換成二叉樹。

在孩子兄弟表示法中,某個結點的第乙個孩子結點的指標是二叉樹中其左孩子結點指標,右兄弟結點指標是二叉樹中右孩子結點指標。

樹轉換為二叉樹過程:

(1)樹中所有相同雙親結點的兄弟結點之間加一條連線;

(2)對樹中不是雙親結點的第乙個孩子的結點,只保留新新增的該結點與左兄弟結點之間的連線,刪去該結點與雙親結點之間的連線;

(3)整理所有保留的連線,根據連線擺放成二叉樹的結構,轉換完成。

二叉樹還原為樹過程:

(1)若某結點是其雙親結點的左孩子,則把該結點的右孩子,右孩子的右孩子······都與該結點的雙親結點用線連起來;

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

(3)整理所有保留的連線,根據連線擺放成樹的結構,轉換完成。

樹 森林與二叉樹的轉換

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

樹 森林與二叉樹的轉換

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

樹 森林與二叉樹的轉換

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