实用数据结构基础参考答案 下载本文

五. 应用题

(1)已知一棵二叉树的后序遍历和中序遍历的序列分别为:ACDBGIHFE和ABCDEFGHI。

请画出该二叉树,并写出它的前序遍历的序列。 解:恢复的二叉树为: E B A C DG F H I

其前序遍历的序列为:E B A D C F H G I

(2)已知一棵二叉树的前序遍历和中序遍历的序列分别为:ABDGHCEFI和GDHBAECIF。

请画出此二叉树,并写出它的后序遍历的序列。 解:恢复的二叉树为: A B D G H E I C F

其后序遍历的序列为:G H D B E I F C A

(3)已知一棵树的层次遍历的序列为:ABCDEFGHIJ,中序遍历的序列为:DBGEHJACIF,

请画出该二叉树,并写出它的后序遍历的序列。 解:

A

B C

DF E

G H I

J

后序遍历的序列:D G J H E B I F C A (4) 把下列一般树转换为二叉树

45

A

2

B C

4 3 5 F E G H I ① ②

1 D

6 7

J

8 解: ① ②

1

2

3

4

5

6

8 7 (5)把下列森林转换为二叉树

① ②

A F B C D G

E 解: A B F

C G H E DI

K J (6)把下列二叉树还原为森林

46

A B E C F H DJ G I ③ H I J K

A B F E G C D H I 解:还原后的二叉树为:

① ② ③ G A E

(7)某二叉树的结点数据采用顺序存储,其结构如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 E A F D H C G I B B C DF H I ① 画出该二叉树(3分)

② 写出按层次遍历的结点序列(2分) 解:

E

A F

H D

C B 层次遍历的结点序列:E A F D H C G I B (8)某二叉树的存储如下: lchild data rchild 1 0 J 0 2 0 H 0 3 2 F 0 4 3 D 9 5 7 B 4 6 5 A 0 7 8 C 0 8 0 E 0 9 10 G 0 10 1 I 0 G I 其中根结点的指针为6,lchild、rchild分别为结点的左、右孩子的指针域,data为

47

数据域。

① 画出该二叉树(3分)

② 写出该树的前序遍历的结点序列(2分) 解: A

B

C D

E F G

H I

J

前序遍历的结点序列:A B C E D F H G I J

(9)给定如图所示二叉树T,请画出与其对应的中序线索二叉树。 28 3325 54406008 55

解:

中序遍历序列:55 40 25 60 28 08 33 54 中序线索二叉树:

28

3325

54406008

55

030

(10)画出表达式:-A+B-C+D 的标识符树,并求它们的后缀表达式。 解:

48