1. 设一棵二叉树的中序序列是:BDEAFGCKH,后序序列是:EDBGFKHCA。 (1) 写出该二叉树的先序序列。 (2) 画出该二叉树的中序线索二叉树。 (3) 将这棵二叉树转换成树或森林。
时间: 2024-01-23 10:20:03 浏览: 91
(1) 该二叉树的先序序列为:ABDEGFKCH
(2) 该二叉树的中序序列是:BDEAFGCKH,后序序列是:EDBGFKHCA。根据中序序列和后序序列,可以得到该二叉树的结构如下:
```
H
/ \
K C
/ \ / \
G F A H
/ / \
E B D
```
对该二叉树进行中序线索化,得到的中序线索二叉树如下:
```
H
/ \
K C
/ \ / \
G F A H
/ \ | / \
# E # B D
```
其中,# 表示线索。
(3) 将这棵二叉树转换成树或森林,需要先将它转换成二叉森林,再将二叉森林转换成树或森林。根据先序序列和中序序列,可以得到该二叉树的结构如下:
```
A
/ \
B C
/ \
D E
```
再根据后序序列和中序序列,可以得到该二叉树的结构如下:
```
C
/ \
A E
\ / \
B D F
```
将这两棵二叉树合并成一棵二叉森林,得到的二叉森林如下:
```
A C
/ \ / \
B # # E
/ \ / \ / \
# C A B D F
/ \ / \
D E H K
/ \
H K
```
其中,# 表示空节点。
最后,将这棵二叉森林转换成树或森林,可以将每个节点的左儿子指向它在同一子树中的前一个节点,右儿子指向它在同一子树中的后一个节点,根据这个规则,将上述二叉森林转换成一棵树,如下:
```
A
/ \
B C
/ \
D E
/ \
H K
C
/ | \
A B E
\ |
D F
```
这样就将二叉树转换成了树。
阅读全文