已知一棵二叉树的后序遍历序列为EICBGAHDF,中序遍历序列为CEIFGBADH,画出该二叉树
时间: 2023-06-23 17:55:07 浏览: 180
二叉树的结构如下所示:
```
H
/ \
D F
/ \ / \
I C E G
/ / \
B A I
```
解析:
根据后序遍历序列,最后一个元素为根节点,即根节点为F;
根据中序遍历序列,F在序列的第5个位置,因此F的左子树为CEIG,右子树为ADH;
由此,可以将问题拆分为两个子问题,分别求CEIG和ADH的二叉树结构。
对于CEIG,它的根节点为E,E的左子树为空,右子树为CIG。由于CIG的后序遍历序列为CIG,中序遍历序列为CIG,因此可以得到CIG的二叉树结构:
```
I
/ \
C G
```
对于ADH,它的根节点为H,H的左子树为AD,右子树为空。由于AD的后序遍历序列为IDAC,中序遍历序列为CEIFGB,可以得到AD的二叉树结构:
```
D
/ \
I C
```
综上,可以得到完整的二叉树结构。
相关问题
一棵二叉树后序遍历序列为DABEC,中序遍历序列为DEBAC,则先序遍历序列为
根据二叉树遍历的规则,先序遍历的顺序为:根节点、左子树、右子树。因此,我们可以通过已知的后序遍历和中序遍历来推导出先序遍历。
1. 后序遍历的最后一个元素为根节点,即C。
2. 在中序遍历中找到C的位置,左边的为左子树的中序遍历序列,右边的为右子树的中序遍历序列。因此,左子树的中序遍历序列为DEB,右子树的中序遍历序列为AC。
3. 根据左子树的中序遍历序列DEB和后序遍历序列ABE,可以得到左子树的先序遍历序列为EBA。
4. 根据右子树的中序遍历序列AC和后序遍历序列D,可以得到右子树的先序遍历序列为D。
5. 综上所述,二叉树的先序遍历序列为CEBAED。
因此,答案为CEBAED。
已知二叉树的后序遍历序列:JGDHEBKLIFCA 中序遍历序列: DJGBEHACKILF 画出这棵二叉树的形态
根据已知的中序遍历序列和后序遍历序列,可以重构出这棵二叉树,具体过程如下:
1. 后序遍历序列的最后一个元素是根节点,即C是根节点。
2. 在中序遍历序列中找到根节点C的位置,C前面的是左子树节点,C后面的是右子树节点。
3. 在后序遍历序列中找到左子树的节点,即JGDHEBKLIF,这些节点是在C的左侧的。
4. 将JGDHEBKLIF拆分成两部分,前半部分JGDHEBK是左子树的后序遍历序列,后半部分LIF是右子树的后序遍历序列。
5. 对于左子树,其中序遍历序列为DJGBEHACK,再按照步骤1-4重构左子树;对于右子树,其中序遍历序列为ILF,重构右子树。
6. 将左右子树连到C上,得到完整的二叉树。
以下是重构后的二叉树形态:
```
C
/ \
/ \
/ \
/ \
J I
/ \ / \
G D L F
/ \ /
H E K
\
B
\
A
```
阅读全文