已知一颗二叉树的先序遍历序列为ABCDEFGHIJ,中序遍历序列为CDBAFEIHJG,请画出该二叉树。
时间: 2023-11-23 07:00:23 浏览: 351
这是一道二叉树重建的问题,可以通过以下步骤来解决:
1. 先序遍历序列的第一个节点是根节点,即A为根节点
2. 在中序遍历序列中找到根节点A,根据中序遍历序列的性质,A的左侧序列为左子树的中序遍历序列,右侧序列为右子树的中序遍历序列,即CDBAFE为左子树的中序遍历序列,IHJG为右子树的中序遍历序列
3. 根据左子树的中序遍历序列长度(即左子树节点个数)可以得到左子树的先序遍历序列为BCDAFE,右子树的先序遍历序列为IHJG
4. 重复以上步骤,可以得到如下二叉树结构:
```
A
/ \
/ \
B C
/ \ / \
D E F G
/ \
H J
|
I
```
相关问题
二叉树的遍历推理 已知二叉树的先序遍历序列为 EIFCGABHDJ 中序遍历序列为 FIGCAEHDBJ 则后序遍历序列为
GFICAEHJDBHABCGEIF
推理过程:
根据先序遍历序列,可以发现根节点为E。
根据中序遍历序列,可以将二叉树分为左子树和右子树。
左子树的中序遍历序列为FIGCAEH,对应的先序遍历序列为IFCGAEH。
右子树的中序遍历序列为DBJ,对应的先序遍历序列为BHDJ。
对左子树和右子树分别进行递归,得到左子树的后序遍历序列GFICAEHJ和右子树的后序遍历序列BHJD.
将左子树的后序遍历序列和右子树的后序遍历序列拼接起来,并加上根节点E,得到最终的后序遍历序列GFICAEHJDBHABCGEIF。
已知二叉树的先序遍历序列为 ABCDEFGHIJ,中序遍历序列为 CBEFDGAHJI. (1)请画出这棵二叉树。(10分) (2)请写出该二叉树的后序遍历序列和层次遍历序列。
答复:
1. 已知二叉树的先序遍历序列为 ABCDEFGHIJ,中序遍历序列为 CBEFDGAHJI,则可以通过这两个序列构建出如下的二叉树:
```
A
/ \
B C
/ \ / \
D E F G
/ \ \
H I J
```
2. 该二叉树的后序遍历序列为:DHIEFJBGCJA
该二叉树的层次遍历序列为:ABCDEFGHIJ
阅读全文