中序遍歷和前序遍歷確定一棵二叉樹(筆算)


已知前序遍歷序列和中序遍歷序列,可以唯一確定一棵二叉樹。
已知后序遍歷序列和中序遍歷序列,可以唯一確定一棵二叉樹。
但是已知前序遍歷序列和后序遍歷序列,是不能確定一棵二叉樹的。

下面例子通過前序遍歷和中序遍歷確定唯一的一棵二叉樹。

前序遍歷:EACBDGF

中序遍歷:ABCDEFG

1、首先根據前序遍歷找出根節點是E,然后根據中序遍歷可以知道ABCD是E的左子樹,FG是E的右子樹。

 

 

2、然后根據左子樹的先序:ACBD,中序:ABCD,確定A為根結點,無左子樹,右子樹為BCD

 

 

3、右子樹為BCD,先序:CBD,中序:BCD,確定C為根結點,B為左子樹,右子樹為D

 

 

4、右子樹為GF,先序:GF,中序:FG,確定G為根結點,無左子樹,右子樹為F

 

 

5、最終的二叉樹為:

 

 

后序遍歷為:BDCAFGE

 

后序遍歷序列和中序遍歷序列,可以唯一確定一棵二叉樹和前中很相似,先根據后序遍歷的最后一個元素確定根結點,然后通過中序遍歷分為左右子樹,再在子樹確定根結點,以此類推。


原文鏈接:https://blog.csdn.net/Gakki_wpt/article/details/92805382

 

 

試試你學會了嗎?

先序:ABJDECFGHI

中序:JBEDAFHGIC

求后序遍歷

答案:

JEDBHZGFCA
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM