
实训五二叉树一、实训目的1、通过实训,掌握二叉树的建立与存储2、通过实训,掌握二叉树的遍历方法二、实训内容1、练习二又树的建立与存储2、练习二叉树的遍历三、实训前的准备1、复习课本的相关内容2、阅读实训指导书3、准备好相关的程序清单四、实训步骤与方法1、建立自己的头文件BT.H,内容包括二叉链表的结构描述、二叉树的建立、二叉树的先序、中序与后序遍历算法,其中,建立二叉树的代码如下:BTCHINALR * createbt()1BTCHINALR *q:struct nodel *s[30];int j,i,x;printf("建立二叉树,输入结点对应的编号和值,编号和值之间用逗号隔开\nn");printf("i,x="):scanf("%d,%c"&i,&x);

while(i!=0&& x!="$')/*(q = (BTCHINALR*)malloc(sizeof (BTCHINALR));建立一个新结点q*/q->data = x; q->lchild = NULL: q->rchild = NULL;s[i] = q;/*q新结点地址存入s指针数组中*/if(i != 1)/*i=1,对应的结点是根结点*(j=i/2:/*求双亲结点的编号j*/if(i%2==0)s[j]->1child=q;/*q结点编号为偶数则挂在双亲结点j的左边*else s[j]->rchild = q:]/*q结点编号为奇数则挂在双亲结点j的右边*/printf("i,x=");scanf("%d,%c",&i,&x):}return s[i];/*返回根结点地址*/12、建立教材中P77图6.9示的二叉树,并通过调用函数,,输出先序遍历、中序遍历与后序遍历的结果。写出有关算法五、实训中出现的问题与解决方法