二叉樹的還原

2021-07-10 03:17:33 字數 706 閱讀 8220

通過先序和中序,或者中序和後序的結果,可以還原一顆二叉樹。中序為必要的,先序和後序有乙個即可。

步驟為:

(1)確定根結點:先序第乙個,或後序最後乙個為根結點;

(2)確定左右子樹:在中序的根節點左邊的為左子樹序列,右邊的為右子樹序列;

(3)確定左右子樹中的孩子結點:其孩子為先序中先出現的,或後序中後出現的;

迴圈(2)(3)即可完成。

先序為:1,2,4,5,10,11,3,6,7

中序為:4,2,10,5,11,1,6,3,7

圖示還原過程

第一步,先序的第乙個,即1為根節點,在中序的1左邊為左子樹,右邊為右子樹,且左子樹中的2在先序中先出現,為1的左孩子,右子樹中的3在先序中先出現,為1的右孩子。

第二步,對於2,4為其左子樹(即左孩子),10、5、11為其右子樹,其中5在先序中先出現,為2的右孩子。

第三步,對於5,10為其左子樹(左孩子),11為其右子樹(右孩子)

還原二叉樹

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入資料有多組,每組資料第一行輸入 1個正整數 n 1 n 50 為樹中結點總數,隨後 2行先後給出先序和中序遍歷序列,均是長度為 n的不包含重複英文本母 區分大小寫 的字串。輸出乙個整數,即該二叉樹的高度。9 abdfghiec ...

還原二叉樹

資料結構實驗之二叉樹四 還原二叉樹 time limit 1000ms memory limit 65536k 有疑問?點這裡 題目描述 給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入輸入資料有多組,每組資料第一行輸入1個正整數n 1 n 50 為樹中結點總數,隨後2行先後...

還原二叉樹

5 9 還原二叉樹 25分 給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入首先給出正整數n le 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9 abdfghiec fdh...