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

2021-08-11 18:05:44 字數 533 閱讀 3698

思路簡介:

①先序遍歷中第乙個字母即為根節點,在中序遍歷中找到根節點的位置

②把中序遍歷的字串序列從根節點分成兩部分,左側一部分構建左子樹,右側一部分構建右子樹

③在②的基礎上在先序遍歷中也找到構建左右子樹的部分

④遞迴還原二叉樹

⑤後序遍歷輸出即可

#include 

#include

using

namespace

std ;

struct node

;node *reroot(string s1, string s2)

if( s1.size() > 1 )

return root ;

}//後序遍歷

void postorder(node *root)

}int main()

}

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

步驟 1.確定樹的根結點 樹根是在先序遍歷中最先出現的元素,即先序遍歷的第乙個結點是二叉樹的根。2.求解樹的子樹 找到根在中序遍歷的位置,位置左邊是二叉樹的左孩子,右邊是右孩子,若根結點的左邊或右邊為空,則該方向子樹為空 若左右子樹都為空,則該結點是葉子節點。3.對二叉樹的左右孩子分別進行步驟1,2...

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

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

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

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