二叉树前序、中序、后序遍历相互求法

前序遍历:(根、左、右)

1.访问根节点 
2.前序遍历左子树 
3.前序遍历右子树

中序遍历:(左、根、右)

1.中序遍历左子树 
2.访问根节点 
3.中序遍历右子树

后序遍历:(左、右、根)

1.后序遍历左子树 
2.后序遍历右子树 
3.访问根节点

一、已知前序、中序遍历,求后序遍历

例:

前序遍历: GDAFEMHZ

中序遍历: ADEFGHMZ

由前序(从前往后看)确定根,中序确定左右

1.由前序知道G为根,由中序知道ADEF为左,HMZ为右;

2.由前序知道D为根,由中序知道A为左,EF为右;由前序知道M为根,由中序知道H为左,z为右。

3.由前序知道F为根,由中序知道E为左。

 

那么,我们可以画出这个二叉树的形状:

这里写图片描述

那么,根据后序的遍历规则,我们可以知道,后序遍历顺序为:AEFDHZMG

二、已知中序和后序遍历,求前序遍历

依然是上面的题,这次我们只给出中序和后序遍历:

中序遍历: ADEFGHMZ

后序遍历: AEFDHZMG

由后序(从后往前看)确定根,中序确定左右

1.由后序(从后往前看)知道G为根节点,由中序知道ADEF为左,HMZ为右。

2.由后序知道D为根节点,由中序知道A为左,EF为右;由后序知道M为根节点,由中序知道H为左,Z为右。

3.由后序知道F为节点,由中序知道E为左。

那么,前序遍历: GDAFEMHZ

输出结果:GDAFEMHZ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值