已知一棵二叉树的中序和前序如下,求该二叉树的后序序列?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/10 20:39:49
#include#includeusingnamespacestd;charstr1[26],str2[26];voidfunc(intp,intq,intlen){if(len==1){cout0)
按照自己的思路写的,仅供参考,intcreat(BiTree&T,ElemTypepre[],ElemTypepost[],intlow_x,inthigh_x,intlow_h,inthigh_h)
高度:5度为2:3度为1:3度为0:4先画图,然后数.
我给楼主讲讲思想吧.前序排序可以让你知道树的根节点是a,左孩子是b将中序这样看 cbde a gl
首先理解概念:前序遍历:访问根结点的操作发生在遍历其左右子树之前.中序遍历:访问根结点的操作发生在遍历其左右子树之中(间).后序遍历:访问根结点的操作发生在遍历其左右子树之后.eg:后序遍历为DBCE
这是递归算法.前序第一个必定是根,根就是A,从中序中就能分出左、右子树了:B和EDCHGIFJ,这是中序就可据此从前序中分出左、右子树了:B和CDEFGHIJ,这是前序了.这样一个问题变成了两个同样的
由后序和中序也可以确定后序DCFEBIHGA中序DCBFEAGHI后序的最后一个元素是根,依据中序序列,就可把根的左右子树分出来.比如第一题,A是根,再根据中序知:其左子树是(DCBFE),右子树是(
回答abcdefghijlk
先画出二叉树:前序为:ABDGIJKLCEHF
真是没办法,回答个问题,还失效.换个马甲又说与人重复1.二叉树的后序序列:CBFEIJHGDA,二叉树如下:A/\BD//\CEG\/FH/\IJ2.intFindDouble(BTreeNode*B
你的先序序列不少元素干嘛打那么多空格,结果是,先序遍历为:ABCDEFGHIJK中序遍历为:CBEDFAHJKIG后续遍历为:CEFDBKJIHGA.树状结构为:A/\BG/\/CDH/\\EFI/J
二叉树:A/\BC/\\DEF/\\/\GHIJK\L转化为森林:ACFK/|\|BEIJ/\DH/\GL
可以啊,先序(根左右)ABDCE,中序(左根右):BDAEC根据先序可以知道根结点为A,根据中序可知道从A分开,BD为左子树,CE为右子树左子树:根据先序可知道B为BD子树的根结点,在结合中序可知道D
在序列中插入*,在二叉树中在对应结点前补充*号(在他前序结点孩子补*结点)再问:没明白
看这张图就知道了
2、BDCE在后序序列中最后出现的元素为B,|B|DCE|A|FHG\x0d3、FHG在后序序列中最后出现的元素为F,|B|DCE|A||F|HG\x0d4、DCE在后序序列中最后出现的元素为C,|B
ABECFGDHJICDBFJIHGEA
二叉树的对应图形应该是如下我所画的这样的,一般以根结点为分界点好画一点的,自己试下吧,很简单的,此题答案应该是五层吧.a/\bq/\/cdg//\eti\j