已知一具有n个结点的二叉树的中序遍历序列与后序遍历序列分别存放于数组IN[1:n]和POST[1:n]中 (

大学 遍历,结点,序列 已帮助 人

已知一具有n个结点的二叉树的中序遍历序列与后序遍历序列分别存放于数组IN[1:n]和POST[1:n]中,(设该二叉树各结点的数据值均不相同)。请写一建立该二叉树的二叉链表结构的非递归算法。该二叉链表的链结点结构为(1child,data,。rchild),其中data为数据域,lchild与rhild分别为指向该结点左、右孩子的指针域(当孩子结点不存在时,相应指针域为空,用nil表示)。【北京航空航天大学1998六(1 5分)】

请帮忙给出正确答案和分析,谢谢!

热搜:二叉树的中序遍历的递归形式和非递归形式

答案解析

难度★★☆ 搜索
  • 正确答案:由二叉树的中序序列与后序序列也可以建立一棵二叉树 void PreInCreat(BiTree rootElemType pre[]in[]int 11h112h2) (root=new(BiNode); //申请结点 root一>data=pre[11]; //pre[11]是根 for(i:12;ic:h2;i++) //在中序序列中查找根结点它将二叉树分成左右子树 if(in[i]==pre[11])break; if(i:=1
    由二叉树的中序序列与后序序列也可以建立一棵二叉树voidPreInCreat(BiTreeroot,ElemTypepre[],in[],int11,h1,12,h2)(root=new(BiNode);//申请结点root一>data=pre[11];//pre[11]是根for(i:12;ic:h2;i++)//在中序序列中查找根结点,它将二叉树分成左右子树if(in[i]==pre[11])break;if(i:=1