資料結構之樹 根據先序序列和中序序列確定樹

2021-10-09 02:50:52 字數 785 閱讀 3238

假設某二bai叉樹的先序遍歷序列du是abdgcefh,中序遍歷序列是dgbaechf,畫出zhi二叉樹,並給出其後序遍dao歷序列。

分析過程:

以下面的例題為例進行講解:

已知一棵二叉樹的先序遍歷序列和中序遍歷序列分別是abdgcefh、dgbaechf,求二叉樹及後序遍歷序列。

分析:先序遍歷序列的第乙個字元為根結點。對於中序遍歷,根結點在中序遍歷序列的中間,左邊部分是根結點的左子樹的中序遍歷序列,右邊部分是根結點的右子樹的中序遍歷序列。

先序:abdgcefh --> a bdg cefh

中序:dgbaechf --> dgb a echf

得出結論:a是樹根,a有左子樹和右子樹,左子樹有bdg結點,右子樹有cefh結點。

先序:bdg --> b dg

中序:dgb --> dg b

得出結論:b是左子樹的根結點,b無右子樹,有左子樹。

先序:dg --> d g

中序:dg --> d g

得出結論:d是b的左子樹的根結點,d無左子樹,有右子樹。

先序:cefh --> c e fh

中序:echf --> e c hf

得出結論:c是右子樹的根結點,c有左子樹(只有e結點),有右子樹(有fh結點)。

先序:fh --> f h

中序:hf --> h f

得出結論:f是c的右子樹的根結點,f有左子樹(只有h結點),無右子樹。

還原二叉樹為:

ab c

d e f

g h後序遍歷序列:gdbehfca

資料結構 二叉樹 根據後序和中序遍歷輸出先序遍歷

本題要求根據給定的一棵二叉樹的後序遍歷和中序遍歷結果,輸出該樹的先序遍歷結果。第一行給出正整數n 30 是樹中結點的個數。隨後兩行,每行給出n個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。在一行中輸出preorder 以及該樹的先序遍歷結果。數字間有1個空...

(後序 中序建樹)根據後序和中序遍歷輸出先序遍歷

本題要求根據給定的一棵二叉樹的後序遍歷和中序遍歷結果,輸出該樹的先序遍歷結果。第一行給出正整數 n 是樹中結點的個數。隨後兩行,每行給出 n個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。在一行中輸出preorder 以及該樹的先序遍歷結果。數字間有1個空格...

玩轉二叉樹 根據中序和先序輸出層次遍歷序列

給定一棵二叉樹的中序遍歷和前序遍歷,請你先將樹做個鏡面反轉,再輸出反轉後的層序遍歷的序列。所謂鏡面反轉,是指將所有非葉結點的左右孩子對換。這裡假設鍵值都是互不相等的正整數。輸入第一行給出乙個正整數n 30 是二叉樹中結點的個數。第二行給出其中序遍歷序列。第三行給出其前序遍歷序列。數字間以空格分隔。在...