已知前序遍歷序列和中序遍歷序列,可以唯一確定一棵二叉樹。
已知后序遍歷序列和中序遍歷序列,可以唯一確定一棵二叉樹。
但是已知前序遍歷序列和后序遍歷序列,是不能確定一棵二叉樹的。
下面例子通過前序遍歷和中序遍歷確定唯一的一棵二叉樹。
前序遍歷: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