二叉樹 已知先序遍歷 中序遍歷,求後序遍歷

2021-08-24 17:42:37 字數 398 閱讀 6700

步驟:

1.確定樹的根結點:樹根是在先序遍歷中最先出現的元素,即先序遍歷的第乙個結點是二叉樹的根。

2.求解樹的子樹:找到根在中序遍歷的位置,位置左邊是二叉樹的左孩子,右邊是右孩子,若根結點的左邊或右邊為空,則該方向子樹為空;若左右子樹都為空,則該結點是葉子節點。

3.對二叉樹的左右孩子分別進行步驟1,2,直到求出二叉樹結構為止。

int inittree(node* root, char *front, char *middle, int len)

//如果root存在左孩子

if (i != 0)

//如果root存在右孩子

if (i != len - 1)

return 1;

}

已知二叉樹先序遍歷中序遍歷求後序遍歷

思路簡介 先序遍歷中第乙個字母即為根節點,在中序遍歷中找到根節點的位置 把中序遍歷的字串序列從根節點分成兩部分,左側一部分構建左子樹,右側一部分構建右子樹 在 的基礎上在先序遍歷中也找到構建左右子樹的部分 遞迴還原二叉樹 後序遍歷輸出即可 include include using namespac...

二叉樹 已知後序 中序遍歷,求先序遍歷

二叉樹後序遍歷序列是dabec,中序遍歷序列debac,它的前序遍歷的序列是什麼 1.由後序 lrd 得知c肯定為根結點 2.由中序 ldr 以c為根節點該樹必然只有左子樹 3.先從後序入樹 dabec 由遍歷規則得知,e 為第二層節點 於是有ce 4.結合中序遍歷debac觀察節點,由於 e為第二...

二叉樹遍歷(已知先序 中序求後序)

時間限制 1000 ms 記憶體限制 65536 kb 提交數 11 通過數 9 輸入一棵二叉樹的先序和中序遍歷序列,輸出其後序遍歷序列。共兩行,第一行乙個字串,表示樹的先序遍歷,第二行乙個字串,表示樹的中序遍歷。樹的結點一律用小寫字母表示。一行,表示樹的後序遍歷序列。abdec dbeac deb...