设一棵二叉树的中序遍历结果为DBEAFC,前序遍历的结果为ABDECF,则后序遍历结果为

作者&投稿:咸国 (若有异议请与网页底部的电邮联系)
设一颗二叉树的中序遍历结果是DBEAFC,前序遍历结果是ABDECF,则后序便利结果是什么?~

后序遍历结果是DEBFCA。
前序遍历得知A是根节点,在中序遍历中,A讲节点非分根节点A左右子树:即
A
DBE FC
下面看DBE序列,在前序遍历中,这三个的先后顺序是BDE,所以这三个节点中B是根节点,根据中序遍历结果,该三个节点顺序是DBE,所以B讲着三个节点划分为左右节点:结果如下:
A
B FC
D E
下面再看FC两个节点,他们在前序遍历结果中的结果是CF,所以C是这两个节点中的根节点,再根据他们在中序遍历结果中的顺序FC,则F将他们本身划分为左子树(此时为空)和右子树C,则二叉树示意图如下:
A
B C
D E 空 F

扩展资料:树的3种最重要的遍历方式分别称为前序遍历、中序遍历和后序遍历。以这3种方式遍历一棵树时,若按访问结点的先后次序将结点排列起来,就可分别得到树中所有结点的前序列表、中序列表和后序列表。相应的结点次序分别称为结点的前序、中序和后序。
如果T是一棵空树,那么对T进行前序遍历、中序遍历和后序遍历都是空操作,得到的列表为空表。
如果T是一棵单结点树,那么对T进行前序遍历、中序遍历和后序遍历根,树根的子树从左到右依次为T1,T2,..,Tk,那么有:
对T进行前序遍历是先访问树根n,然后依次前序遍历T1,T2,..,Tk。
对T进行中序遍历是先中序遍历T1,然后访问树根n,接着依次对T2,T2,..,Tk进行中序遍历。
对T进行后序遍历是先依次对T1,T2,..,Tk进行后序遍历,最后访问树根n。
参考资料来源:百度百科-遍历

其实很简单,看前序遍历结果,A肯定是树根,那么从中绪来看,以A为中点,可以分为左右子树,依次类推,结合前、中序的队列,最后可得其后续遍历:DEBFCA

综述:依据前序遍历序列可确定根结点为A;再依据中序遍历序列可知其左子树由DBE构成,右子树为FC;又由左子树的前序遍历序列可知其根结点为B,由中序遍历序列可知其左子树为D,右子树由E构成。同理推算FC的排列顺序,在草稿纸上画出树的结构,得出答案为:DEBFCA。


编程:

编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。



中序遍历:首先遍历左子树,然后访问根结点,最后遍历右子树;前序遍历:首先访问根结点,然后遍历左子树,最后遍历右子树;后序遍历:首先遍历左子树,然后遍历右子树,最后访问根结点。因此,后序遍历的结果为DEBFCA。

后序遍历有递归算法和非递归算法两种。在二叉树中,先左后右再根,即首先遍历左子树,然后遍历右子树,最后访问根结点。

后序遍历的非递归算法是三种顺序中最复杂的,原因在于,后序遍历是先访问左、右子树,再访问根节点,而在非递归算法中,利用栈回退到时,并不知道是从左子树回退到根节点,还是从右子树回退到根节点。

如果从左子树回退到根节点,此时就应该去访问右子树,而如果从右子树回退到根节点,此时就应该访问根节点。所以相比前序和后序,必须得在压栈时添加信息,以便在退栈时可以知道是从左子树返回,还是从右子树返回进而决定下一步的操作。



依据前序遍历序列可确定根结点为A;再依据中序遍历序列可知其左子树由DBE构成,右子树为FC;又由左子树的前序遍历序列可知其根结点为B,由中序遍历序列可知其左子树为D,右子树由E构成......
同理推算FC的排列顺序,在草稿纸上画出树的结构,再自己写写后序遍历吧!

你是没搞明白三种遍历是怎么回事,先从哪开始从哪结束.
先序:根-左子-右子
中序:左子-根-右子
后序:左子-右子-根
这个方法推广到整个二叉树,
下点功夫研究一下吧.这个不会进不了软件公司.

答案是DEBFCA

中序遍历二叉排序树的结点可得排序的结点序列。
答:对的,中序遍历一棵二叉排序树的结点就可得到排好序的结点序列这句话是没有错误的,因为二叉排序树的根节点大于左子树,小于右子树,然后使用中序遍历算法,中序遍历算法先遍历左子树,然后是根节点,然后是右子树。根据遍历的特性,所有的先遍历的结点,一定是小于后边遍历的结点,所以说中序遍历一棵...

某二叉树的先序遍历序列为cabfedg,中序遍历序列为abcdefg,则该二叉树...
答:【答案】:C本题考查数据结构基础知识。根据题中所给的遍历序列,可知其对应的二叉树如下图所示。由图可知,该树不满足完全二叉树和满二叉树,并且,本题没有涉及权值概念,不属于最优二叉树。在图中可以看到,这棵树满足平衡二叉树,因此选择C选项。

数据结构 一棵二叉树如下图所示 写出对此二叉树进行中序遍历时得到的...
答:中序遍历:EFGBCHDA

二叉树中什么是中序序列?
答:中序序列。中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。若二叉树为空则结束返回,否则:(1)中序遍历左子树 (2)访问根结点 (3)中序遍历右子树 如图所示二叉树,中序遍历结果:DBEAFCG 中序遍历数学表达式形式:当对一棵数学表达式树进行中序,前序和后序遍历时,就分别得到表达式...

某二叉树的中序遍历为CBADE,后序遍历序列为CBEDA,则前序遍历序列为?
答:后序遍历中最后一个就是树根结点,即A结点。中序遍历的根节点前面的节点均为左子树的节点,所以左子树上的节点为CB。去掉根节点和左子树节点,右子数节点为DE。在二叉树中,求前序遍历,先根后左再右,即首先访问根结点,然后遍历左子树,最后访问遍历右子树。则该二叉树的前序遍历是ABCDE。

已知一棵二叉树的层次遍历序列ABCDEFG,中序遍历为BAFGDCE,则这个二叉树...
答:ABCDFGE// 中序遍历序列: BAFGDCE// 后序遍历序列: BGFDECA// 层次遍历序列: ABCDEFG/// 二叉树示意图:// A// / \// B C// / \// D E// /// F// \// G//#include <stdio.h>#include <stdlib.h>#define OK 1#define OVERFLOW -2typede...

已知一棵二叉树的后序遍历序列为CFEDAB 中序遍历序列位为CDEFBA
答:F可能是E的一个分支,预计F是E的右分支,画出二叉树的示意图如下: B / \ D A / \ C E \ F前序遍历序列: BDCEFA中序遍历序列: CDEFBA后序遍历序列: CFEDAB// C语言测试程序// 前序遍历序列: B D C E F A// 中序遍历序列: C D E F B A// 后序遍历...

【小白学算法】8.二叉树的遍历,前序、中序和后序
答:2、创建二叉树,调用遍历方法。3、main方法进行测试。运行测试遍历顺序与上面预测的相符合。本章我们知道了遍历二叉树,那如果我要查找二叉树中某一个结点,前中后序这3种的查找思路又是怎样呢?例题:已知某二叉树的前序遍历为A-B-D-F-G-H-I-E-C,中序遍历为F-D-H-G-I-B-E-A-C,请...

一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,该二叉树的...
答:DGEBHFCA 这个是2叉树滴图形 楼主看看哈~A / \ B C / \ . \ D E F . / . / G. H 后序访问的顺序为 (1)遍历左子树;(2)遍历右子树;(3)访问根结点。所以结果为DGEBHFCA

假设一棵二叉树的按层次遍历序列为abcdefghij,中序遍历序列为dbgehjac...
答:层序遍历为二叉树的根,看中序遍历,a左边的是a的左子树的节点,右边的是右子树节点,看层序,b是a的左子树的根,c是a的右子树的跟(因为c本身就是a的右子树,由第一步可知)依次类推。一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于或等于它的根...