您的位置:首页 > 其它

二叉树的前序、中序和后序遍历

2015-08-23 14:04 218 查看
今天做到阿里巴巴的一道笔试题,关于二叉树的遍历序列的,原题摘录如下:

某二叉树的先序遍历是12453,中序遍历是42513,那么其后续遍历是?

A 45231

B 42351

C 12345

D 54321

本题考查的知识点是二叉树前序、中序、后序遍历的相互求法,即如果知道两个的遍历,如何求第三种遍历。

首先,我们看看前序、中序、后序遍历的特性:

前序遍历(前序遍历):

1.访问根节点

2.前序遍历左子树

3.前序遍历右子树

中序遍历:

1.中序遍历左子树

2.访问根节点

3.中序遍历右子树

后序遍历:

1.后序遍历左子树

2.后序遍历右子树

3.访问根节点

以本题为例简单说明:先序遍历是 12453 依据先序遍历的特性:先序是先访问根节点 所以1是二叉树的根节点,后序遍历是先访问左子树和右子树,后访问 425**1**3,在1的左边的是二叉树的左子树425,1右边的3是二叉树的右子树,右子树只有一个节点,所以可以先构造出一个二叉树为

1

3(1的右子树)

再看先序遍历 1 245 3和后序遍历**425***1*3,2是左子树的根节点,在后序遍历中 2在4和5的中间 ,所以 4是2的左子树,5是2的右子树,构造出的二叉树为:

1

21的左子树) 3(1的右子树)

4 (2的左子树) 5(2的右子树)

所以后序遍历序列为 45231

本题答案为A

如果给出后序遍历和中序遍历来求前序遍历的分析也是一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息