已知一颗二叉树的前序和中序序列,唯一的确定一颗二叉树

原创 2006年06月19日 15:51:00

已知一颗二叉树的前序和中序序列,唯一的确定一颗二叉树,由此构造二叉树的递归算法。

设前序序列和中序序列分别存放两个一维数组,pre(1,n)和ind(1,n),按前序序列pre(i,j)和中序序列ind(u,v)递归构造二叉树,其根结点指针为s。

typedef  struct  bnode
{ Elemtype data;
   struct bnode *left,*right;
 }btree;
btree *bintree(int i,int j,int u,int v)
{
   int k,l;
   btree *head,*s;
   head=NULL;
   if(j>=i)
   {
       head=new btree; //建立根结点
       head->data=pre[i];
       k=u;
       while(ind[k]!=pre[i]) k++//在中序序列中查找根结点
       l=i+k-u;//l为左子树中最右下结点在前序序列中的位置
       if(k==u) //左子树为空
        head->left=NULL;
       else
        {
            s=bintree(i+1,l,u,k-1);//构造左子树
            head->left=s;
        }
      if(k==v)//右子树为空
        head->right=NULL;
      else
        {
            s=bintree(l+1,j,k+1,v);//构造右子树
            head->right=s;
        }            
   }      
    
return head;
}

前序遍历和中序遍历序列能确定唯一的一棵二叉树

由二叉树的前序遍历和中序遍历序列能确定唯一的一棵二叉树,下面程序的作用是实现由已知某二叉 树的前序遍历和中序遍历序列,生成一棵用二叉链表表示的二叉树并打印出后序遍历序列,请写出程序所 缺的语句。 ...

根据先序序列和中序序列创建二叉树

思考:如何才能确定一棵树? 结论:    通过中序遍历和先序遍历可以确定一个树                 通过中序遍历和后续遍历可以确定一个树                 通过先序遍历和后序...
  • bbs375
  • bbs375
  • 2016年10月06日 19:12
  • 6012

根据前序遍历序列和中序遍历序列构造二叉树算法

一个前序遍历序列和一个中序遍历序列可以确定一颗唯一的二叉树。        根据前序遍历的特点, 知前序序列(PreSequence)的首个元素(PreSequence[0])为二叉树的根(root)...

根据二叉树的前中序确定唯一的二叉树

关键是怎么根据前中序推出二叉树。假设前序为1245367,中序为4251637。那么根结点为1,在中序中找到1,则左边为1的左子树,右边为1的右子树。那么可以根据这个在前序序列中和中序序列中,分出1的...
  • ustcyue
  • ustcyue
  • 2014年03月04日 18:02
  • 810

如何判断一棵二叉树是完全二叉树

转载自:http://blog.csdn.net/njdragonfly/article/details/6373199 严蔚敏那本教材上的说法:一个深度为k,节点个数为 2^k -...

已知二叉树的中序和后序求前序

例子,后序遍历为 gbdehfca,中序遍历为 dgbaechf 后序遍历中的最后一个元素是根节点,a,然后查找中序中a的位置 把中序遍历分成 dgb a echf,而因为节点个数要对应 ...

已知二叉树先序序列和中序序列,求后序序列

回答了百度知道上的一个提问,原题是这样的: 当一棵二叉树前序序列和中序序列分别为HGEDBFCA和EGBDHFAC时,其后序序列为什么?当一棵二叉树前序序列和中序序列分别为HGEDBFCA和EGBDH...

根据二叉树的前序和中序求后序

在面试的过程中,发现有几家公司都喜欢考这样的一道题,就是在一棵二叉树中,已知这棵二叉树的前序和中序遍历结果,要求写出后序遍历结果。  例如:在一棵二叉树总,前序遍历结果为:ABDGCEFH,中序...

为什么只给出前序和后序,不能唯一确定一个二叉树

我们在学习二叉树的遍历时,都会不可避免的学到二叉树的三种遍历方式,分别是遵循(根-左-右)的前序遍历、遵循(左-根-右)的中序遍历以及遵循(左-右-根)的后序遍历。并且每一个二叉树都可以用这三种遍历方...

已知二叉树的中序和前序(或者后序)序列求解树

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

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