二叉树的先序遍历为efhigjk,中序遍历为hfiejkg,这棵树怎么画
时间: 2024-03-13 14:42:57 浏览: 21
根据先序遍历的顺序,我们可以知道根节点是e,因此我们可以将e作为根节点。然后,在中序遍历中找到根节点e的位置,我们可以将中序遍历分成两部分:hfie和jkg。这提示我们,e的左子树是由h、f、i、e四个节点组成的,e的右子树是由j、k、g三个节点组成的。
接下来,我们可以将左子树的先序遍历efhie和中序遍历hfie递归处理,构造出左子树。同样的,我们可以将右子树的先序遍历gjk和中序遍历jkg递归处理,构造出右子树。最终得到如下的二叉树:
```
e
/ \
/ \
/ \
h j g
/ \ / \
/ \ / \
f i k j
```
相关问题
二叉树的先序遍历为efhigjk,中序遍历为hfeijig,这棵树怎么画
首先,根据先序遍历的顺序,我们知道根节点是e,因此我们可以将e作为根节点。然后,在中序遍历中找到根节点e的位置,我们可以将中序遍历分成两部分:hfei和ig。这提示我们,e的左子树是由h、f、e、i四个节点组成的,e的右子树是由i、g、j、k四个节点组成的。
接下来,我们可以将左子树的先序遍历efhi和中序遍历hfei递归处理,构造出左子树。同样的,我们可以将右子树的先序遍历gjk和中序遍历ig递归处理,构造出右子树。最终得到如下的二叉树:
```
e
/ \
/ \
/ \
h i
/ \ / \
/ \ / \
f e i g
/ / \
j j k
```
一个二叉树先序遍历是ABCDEFG 中序遍历是CBAEDFG 画出这个二叉树
根据二叉树的遍历方式,我们可以确定根节点是A。然后,我们可以在中序遍历序列中找到根节点A,将它分成左右两个子树的序列CBAE和DFG。接下来,我们可以使用递归的方式构建整个二叉树。
构建过程如下:
1. 根据中序遍历的顺序,我们可以确定A的左子树是CBAE,A的右子树是DFG。
2. 根据先序遍历的顺序,我们可以确定B是A的左儿子,E是B的右儿子,C是B的左儿子,D是A的右儿子,F是D的左儿子,G是D的右儿子。
因此,这个二叉树的结构如下:
```
A
/ \
B D
/ \ / \
C E F G
```
注意:这只是其中一种构建方式,不同的构建方式可能得到不同的二叉树。