樹 森林 二叉樹的轉換

2021-07-23 17:42:55 字數 818 閱讀 7922

樹變二叉樹

樹變二叉樹的規則:每個結點的左指標指向它的第乙個孩子結點。右指標指向它在樹中的相鄰兄弟結點。

也即:左孩子右兄弟。

根沒有兄弟,所以轉換以後的樹沒有右子樹。

具體操作:

二叉樹變樹

二叉樹變樹的規則:是樹變二叉樹的逆過程。問:二叉樹可以變成各種各樣的樹,為何這裡只是唯一一種樹形?這裡只是假設這個二叉樹是由上面的變換演算法得來,那麼過程可逆。所以對於有右子樹的二叉樹樹形,是不能用這種辦法化為樹的。

二叉樹變森林

規則:

砍成一堆二叉樹後,還得注意並沒結束,重點不是二叉樹,而是樹,因此用上面的二叉樹化樹的演算法化成森林。

森林變二叉樹

這個規則是:

這裡主要運用的點是:轉換為二叉樹後,這個二叉樹沒有右子樹,因此騰出右手可以接一棵新的樹,因此這樣可以連線很多由樹化來的二叉樹。

對照這個演算法去想二叉樹變森林,就很容易明白,先砍掉根和它的左子樹作為乙個整體,再對剩下的部分同樣操作。

二叉樹 樹 森林轉換

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

樹 森林 二叉樹的轉換

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

樹,二叉樹,森林的轉換

一 樹與森林的轉換 將一棵非空樹的根節點刪去,樹變成森林,反之森林新增乙個節點,變成樹。二 樹轉換為二叉樹 1 樹中所有相鄰兄弟之間加一條線。2 樹中的每個節點,只保留與其第乙個孩子節點之間的連線,刪去其他孩子節點之間的連線。3 以樹的根節點為軸線,旋轉一定的角度,使之結構層次分明。三 森林轉換為二...