定理:
仅根据先序、中序、后序序列中的其中一个无法唯一确定一个二叉树。
根据二叉树的中序序列+前序序列 或者中序序列+后序序列 可以唯一确定一个二叉树,这里给出了构造方法。
1 #include<cstdio> 2 #include<string.h> 3 #include<malloc.h> 4 using namespace std; 5 #define MaxSize 100 6 typedef char ElemType; 7 typedef struct node 8 { 9 ElemType data; 10 struct node* lchild; 11 struct node* rchild; 12 }BTNode; 13 14 void CreateBTree(BTNode * &b, char * str)//传入地址b,将其作为根 15 { 16 BTNode *St[MaxSize],*p=NULL; //建立指针型数组? 17 int top=-1,k,j=0;//top为栈顶指针,k为标记,j为字符串指针 18 19 b=NULL;//初始化树为空 20 char ch=str[j];//j指向字符串的指针 21 while(ch!='