二叉树三种遍历方法(根据两种排序求第三种的顺序)
2014-09-28 09:15
525 查看
1.已知先序和中序求后序
先序遍历的节点顺序是:ADCEFGHB,中序遍历是CDFEGHAB,则后序遍历的结果是 CFHGEDBA
解:1)根据先序遍历结果可知A是根节点,根据中序遍历知道A的左子树是(CDFEGH),右子树是(B)
2)左边中D是根节点,由中序遍历的顺序CD知道,C是D的左子树;
E是D的右子树,由中序遍历的顺序FE知道,F是E的左子树;
G是E的右子树,由中序遍历的顺序GH知道,H是G的右子树
3)故二叉树的图为
A
/ \
D B
/ \
C E
/ \
F G
\
H
4)由图知道后序遍历的结果是CFHGEDBA
2. 已知后序和中序求先序
后序遍历是DABEC,中序遍历是DEBAC,则先序遍历是CEDBA
解:1)根据后序遍历结果知道C是根节点,根据中序遍历知道C的左子树是DEBA,没有右子树
2)左边E是根节点,由中序遍历DE知道,D是E的左子树
B是E的右子树,A是B的右子树
3)故二叉树的图为
C
/ \
E
/ \
D B
\
A
4)由图知道先序遍历的结果是CEDBA
先序遍历的节点顺序是:ADCEFGHB,中序遍历是CDFEGHAB,则后序遍历的结果是 CFHGEDBA
解:1)根据先序遍历结果可知A是根节点,根据中序遍历知道A的左子树是(CDFEGH),右子树是(B)
2)左边中D是根节点,由中序遍历的顺序CD知道,C是D的左子树;
E是D的右子树,由中序遍历的顺序FE知道,F是E的左子树;
G是E的右子树,由中序遍历的顺序GH知道,H是G的右子树
3)故二叉树的图为
A
/ \
D B
/ \
C E
/ \
F G
\
H
4)由图知道后序遍历的结果是CFHGEDBA
2. 已知后序和中序求先序
后序遍历是DABEC,中序遍历是DEBAC,则先序遍历是CEDBA
解:1)根据后序遍历结果知道C是根节点,根据中序遍历知道C的左子树是DEBA,没有右子树
2)左边E是根节点,由中序遍历DE知道,D是E的左子树
B是E的右子树,A是B的右子树
3)故二叉树的图为
C
/ \
E
/ \
D B
\
A
4)由图知道先序遍历的结果是CEDBA
相关文章推荐
- 创建二叉树的两种方法以及三种遍历方法
- 【二叉树】根据两种遍历顺序确定树结构(build-tree)
- 二叉树的三种遍历方法
- 二叉树的先序,中序,和后序遍历用静态和动态两种方法实现
- 遍历二叉树的三种方法
- 根据二叉树的中序遍历和后序遍历创建 一棵二叉树,并且返回所创建的树的树高,具体方法请参见下面源码(经过调试,无任何bug存在)
- 根据二叉树的两种遍历求二叉树的结构
- 二叉树初始化及三种遍历方法
- 二叉树层次遍历的两种方法
- 给定一个数组,该数组存贮R,G,B三种字符,将该数组按RGB顺序排序,不能使用辅助内存空间,且只能遍历数组一次。
- 二叉树的遍历(前序 中序 后序)和已知两种遍历顺序求另外一种遍历顺序(含实例)
- 数据结构 二叉树的建立及三种遍历方法
- 根据树的两种遍历序列求第三种遍历序列
- 二叉树的顺序存储和三种遍历(二)
- 43 递归和非递归俩种方法实现二叉树的三种遍历
- 二叉树的三种遍历方法(递归和非递归)
- 二叉树的三种遍历方法(递归和非递归)(转载)
- 二叉树操作之三种遍历方法
- 根据二叉树的两种遍历求二叉树的结构
- 二叉树的三种遍历方式(递归和非递归的实现方法)