5. 由树的前序序列和中序序列来确定树的结构

原创 2013年12月05日 14:36:53

1.       由树的前序序列和中序序列来确定树的结构

例如前序为 ABCDEFG,而中序为CBEDAFG

首先根据前序可以知道,整棵树的根为A。而根据中序可以知道,左子树为CBED,右子树为FG

然后根左子树的CBED的先序遍历为BCDE,中序为CBED。因此根的左子树的根为B,中序为【CBED】。而根的右子树的先序为FG,中序也为FG。因此根的右子树的根为F,右子树的孩子为G,且为右孩子。

最后【ED】的先序为DE,中序为ED,因此根为D,左孩子为E。至此,完成了整棵树的构造。

相关文章推荐

根据前序和中序序列确定二叉树

方法1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的元素。 2、求解树的子树。找出根节点在中序遍历中的位置,根左边的所有元素就是左子树,根右边的所有元素就是右子树。若根节点左边或右边...

由前序遍历和中序遍历重建二叉树(前序序列:1 2 3 4 5 6 - 中序序列:3 2 4 1 6 5)

由前序遍历和中序遍历重建二叉树 前序序列(根-左-右):1 2 3 4 5 6 中序序列(左-根-右):3 2 4 1 6 5 1、由前序遍历可知根节点为第一个元素1,在中序遍历序列中找到1...

算法学习记录四(C++)--->通过前序和中序序列重建二叉树

描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,...

[算法系列之三]二叉树中序前序序列(或后序)求解树

这种题一般有二种形式,共同点是都已知中序序列。如果没有中序序列,是无法唯一确定一棵树的。 已知二叉树的前序序列和中序序列,求解树。 1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的...

根据前序和中序序列,建立二叉树(java实现)

根据前序序列:int[] preSort={1,2,4,7,3,5,6,8}; 中序序列:int[] inSort=new int[]{4,7,2,1,5,3,8,6}; 建立二叉树,求后序遍历等问题...
  • A784586
  • A784586
  • 2017年01月09日 18:13
  • 266

算法之二叉树中序前序序列(或后序)求解树

这种题一般有二种形式,共同点是都已知中序序列。如果没有中序序列,是无法唯一确定一棵树的。 已知二叉树的前序序列和中序序列,求解树。 1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的...
  • SJF0115
  • SJF0115
  • 2013年03月08日 10:56
  • 16471

根据前序中序序列构建二叉树

问题描述:     输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列...

重建二叉树(前序,中序序列建树)

题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7...

前序和中序序列重建二叉树

思路根据前序和中序的特性,前序序列的一个元素就是树的根元素,那么在中序序列找到相应的元素。找到后该元素前面所有元素都是左子树元素,后面元素都是右子树元素。那么此时跟节点的pleft就是左子树返回的结果...

算法之二叉树中序前序序列(或后序)求解树

这种题一般有二种形式,共同点是都已知中序序列。如果没有中序序列,是无法唯一确定一棵树的。 已知二叉树的前序序列和中序序列,求解树。 1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:5. 由树的前序序列和中序序列来确定树的结构
举报原因:
原因补充:

(最多只允许输入30个字)