已知二叉樹的中根和後根序列怎麼確定一棵樹?

我們在學習二叉樹的時候,不只是學習怎麼按照一棵樹來寫出遍歷的結果,有時候會給出遍歷的結果讓我們來實現一棵樹,今天我就來告訴大家怎麼根據一棵樹的中根還有後根來確定一棵樹

已知二叉樹的中根和後根序列怎麼確定一棵樹

工具/原料

中根序列

後根序列

方法/步驟

我們也是用一個例子來講我們的方式方法,例子如下圖所示

已知二叉樹的中根和後根序列怎麼確定一棵樹

拿到這樣的題目的時候,我們第一步先看後根序列,後根序列是最後訪問的根節點,所以我們這個時候能夠確定的是根,如下圖所示 我們可以確定a是根

已知二叉樹的中根和後根序列怎麼確定一棵樹

第二步,確定了根節點之後,我們再看中根序列,這樣可以確定左右孩子。如下圖所示

已知二叉樹的中根和後根序列怎麼確定一棵樹

第三步,定了左右孩子之後我們再看後根序列,再確定左子樹的根節點。可以確定左子樹的根節點是b,如下圖

已知二叉樹的中根和後根序列怎麼確定一棵樹

第四步,再看中根序列,然後確定左子樹的左右孩子,這樣一步一步的往下走

已知二叉樹的中根和後根序列怎麼確定一棵樹

第五步,已經知道了 e d是左子樹的右子樹,然後接著看後根序列,這個時候有如下圖所示的兩種情形,

已知二叉樹的中根和後根序列怎麼確定一棵樹

第六步,我們要根據中根序列來確定到底是哪一種樹是我們想要的。過程如圖所示,我們可以確定後面的一種是我們想要的。到這個地方我們的左子樹就已經確定好了

已知二叉樹的中根和後根序列怎麼確定一棵樹

第七步,我們接著來看右子樹。還是先看後根序列和中根序列。

已知二叉樹的中根和後根序列怎麼確定一棵樹

第八步,來確定右子樹的左子樹,方法和前面的類似,就不多講

第九步,看中根序列確定g節點的右子樹

已知二叉樹的中根和後根序列怎麼確定一棵樹

第十步,看後根序列確定g節點的右子樹的右根

已知二叉樹的中根和後根序列怎麼確定一棵樹

現在就是我們的最後一步了,看中根序列確定就可以了。

已知二叉樹的中根和後根序列怎麼確定一棵樹

注意事項

不懂的可以留言問我

有錯誤請評論告訴我

相關問題答案