给定二叉树的先序遍历序列 和中序遍历序列,构建二叉树:
原理:

代码:


node* create(int preL,int preR,int inL,int inR){
if(preL > preR){
return NULL;
}
node* root = new node;
root->data = pre[preL];
int k;
for(k = inL;k<= inR;k++){
if(in[k]==pre[preL]){
break;
}
}
int numLeft = k-inL;
root->lchild = create(preL + 1, preL + numLeft, inL, k - 1);
root->rchild = creat(preL + numLeft + 1, preR, k + 1, inR);
}
上面的代码构建了一颗二叉树,再根据需求遍历即可。
构建二叉树算法解析

本文详细解析了如何使用先序遍历和中序遍历序列构建二叉树的算法,通过递归方式确定根节点,并划分左右子树,最终完成整棵树的构建。
3万+

被折叠的 条评论
为什么被折叠?



