先序递归建立二叉树班级 2025211313 姓名:胡卓 学号:2025211468 姓名:郭志刚 学号:2025211475 分工情况: 郭志刚 BiTree CreateBiTree(BiTree& T)//先序递归创建二叉树 int main() 胡卓 void Print(BiTree& T,int t) int LEAF(BiTree& T)//计算叶子节点完成日期:2025-11-6问题描述:1)用先序递归过程建立二叉树 (存储结构:二叉链表) 输入数据按先序遍历所得序列输入,当某结点左子树或右子树为空时,输入‘*'号,如输入 abc**d**e**得到的二叉树为: e a d b c (选做:由二叉树的先序序列和中序序列建立一棵二叉树
)2)编写递归算法,计算二叉树中叶子结点的数目
3)按凹入表方式输出该二叉树
算法思想:定义二叉树的数据结构类型typedef struct BiTNode//{ char data; struct BiTNode*lchild,*rchild;//左右子树}BiTNode,*BiTree;1
先序递归创建二叉树 BiTree CreateBiTree(BiTree& T) { T=(BiTree)malloc(sizeof(BiTNode)); T—〉data='\0’; char ch; scanf("%c",&ch); if(ch
='*') { T—〉data=ch; T—>lchild=CreateBiTree(T—〉lchild); T-〉rchild=CreateBiTree(T-〉rchild); } else if(ch=='*’) return NULL; if((T—〉lchild==NULL&&T—〉rchild==NULL)||(T->lchild==