4-24二叉树的创建
//c
//存储结构:二叉树链表
//已知两个序列:
// 后序:FGDBCA post[n]
// 中序:BFDGAC
BiTree CreatBiTree (char *post,char *in,int n)/*后序的起始地址;中序的数组名(起始地址);节点的个数*/{
//递归出口:
n = 0;
T = malloc()//申请空间
T->date = post[n-1];//post[n-1]:后续序列的最后一个元素->根
for();
T->lchild = CreatBITree(post,in,i);//做字数的中序序列
T->Rchild = CreatBITree(post+i,in+i+1,n-i-1);
return T;//返回T
}
//in:
in//起始地址,存储数组内0号元素
已知先序中序
//先序:ABDFGCH
//中序:BFDGAHC
BiTree CreatBiTree (char *pre,char *in,int n)/*后序的起始地址;中序的数组名(起始地址);节点的个数*/{
//递归出口:
if(n = 0){
return NULL;
}
T = malloc()//申请空间
T->date = pre[0];//post[n-1]:后续序列的最后一个元素->根
for()//数A前面有几个元素=i
T->lchild = CreatBiTree(pre+1,in,i);
T->Rchild = CreatBiTree(pre+1+i,in+i+1,n-i-1);
return T;//返回T
}