根据前序/后序遍历和中序遍历序列建树

Posted yy-1046741080

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据前序/后序遍历和中序遍历序列建树相关的知识,希望对你有一定的参考价值。

根据前序遍历和中序遍历序列建树:

 1 // 先序序列pre[preL,preR],中序序列in[inL,inR]
 2 node* BuildTree(int preL,int preR,int inL,int inR)
 3     if(preL>preR)
 4         return NULL;
 5     
 6     node *root=new node;
 7     root->data=pre[preL];
 8     int k;
 9     for(k=inL;in[k]!=pre[preL];k++)
10         ;
11     
12     root->left=BuildTree(preL+1,preL+k-inL,inL,k-1);
13     root->right=BuildTree(preL+k-inL+1,preR,k+1,inR);
14 
15     return root; // 返回
16 

 


 


根据后序遍历和中序遍历序列建树:

 

以上是关于根据前序/后序遍历和中序遍历序列建树的主要内容,如果未能解决你的问题,请参考以下文章

根据前序遍历和中序遍历得出后序遍历

C语言根据层次遍历和中序遍历求二叉树的前序遍历和后序遍历。下面有我的建树函数,有注释的。

数据结构中已知前序序列和中序序列,怎么得出后序序列,谢谢回答!

如何根据中序遍历和后序遍历求前序遍历

已知前序(后序)遍历序列和中序遍历序列构建二叉树(Leetcode相关题目)

根据前序遍历和中序遍历求后序遍历