java二叉树凹入表伪代码_二叉树的建立及凹入表打印#严选材料

本文介绍如何使用Java通过先序递归建立二叉树,并实现凹入表打印。提供了创建二叉树、计算叶子节点数量及凹入表打印的函数,包括源代码和测试案例。
摘要由CSDN通过智能技术生成

《二叉树的建立及凹入表打印#严选材料》由会员分享,可在线阅读,更多相关《二叉树的建立及凹入表打印#严选材料(7页珍藏版)》请在人人文库网上搜索。

1、先序递归建立二叉树班级2012211313 姓名:胡卓 学号:2012211468 姓名:郭志刚 学号:2012211475 分工情况: 郭志刚BiTree CreateBiTree(BiTree& T)/先序递归创建二叉树 int main() 胡卓 void Print(BiTree& T,int t) int LEAF(BiTree& T)/计算叶子节点完成日期:2013-11-6问题描述:1)用先序递归过程建立二叉树 (存储结构:二叉链表)输入数据按先序遍历所得序列输入,当某结点左子树或右子树为空时,输入*号,如输入abc*d*e*得到的二叉树为:ea dbc(选做:由二叉树的先序序列。

2、和中序序列建立一棵二叉树。)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。

3、-lchild);T-rchild=CreateBiTree(T-rchild);else if(ch=*)return NULL;if(T-lchild=NULL&T-rchild=NULL)|(T-lchild=NULL&T-rchild-data!=0)|(T-lchild-data!=0&T-rchild=NULL)|(T-lchild-data!=0&T-rchild-data!=0)return T;2. 计算叶子节点int LEAF(BiTree& T) if(T-lchild=NULL&T-rchild=NULL) return 1;else if(T-lchild=NULL&。

4、T-rchild-data!=0)return LEAF(T-rchild);else if(T-lchild-data!=0&T-rchild=NULL)return LEAF(T-lchild);elsereturn (LEAF(T-lchild)+LEAF(T-rchild);3.凹入表打印二叉树void Print(BiTree& T,int t) int i;if(T) Print(T-rchild,t+5);for(i=0;idata);Print(T-lchild,t+5);4.主函数int main() BiTree T;printf(*n);printf(*欢迎打印二叉树*n。

5、);printf(*n);printf(请按先序遍历所得数据输入(当某节点是叶子节点时用*表示):n);T=CreateBiTree(T);printf(叶子节点的个数是: );printf( %dn,LEAF(T); printf(打印该二叉树结构后的结果为:n);Print(T,5);system(pause); 设计描述:源程序:#include#include#include#define Maxsize 100#define OVERFLOW -1#define ERROR 0int pi=0;typedef struct BiTNode/定义二叉树的数据结构类型char data;。

6、struct BiTNode*lchild,*rchild;/左右子树BiTNode,*BiTree;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-l。

7、child=NULL&T-rchild-data!=0)|(T-lchild-data!=0&T-rchild=NULL)|(T-lchild-data!=0&T-rchild-data!=0)return T;int LEAF(BiTree& T)/计算叶子节点 if(T-lchild=NULL&T-rchild=NULL) return 1;else if(T-lchild=NULL&T-rchild-data!=0)return LEAF(T-rchild);else if(T-lchild-data!=0&T-rchild=NULL)return LEAF(T-lchild);else。

8、return (LEAF(T-lchild)+LEAF(T-rchild);void Print(BiTree& T,int t)int i;if(T) Print(T-rchild,t+5);for(i=0;idata);Print(T-lchild,t+5);int main() BiTree T;printf(*n);printf(*欢迎打印二叉树*n);printf(*n);printf(请按先序遍历所得数据输入(当某节点是叶子节点时用*表示):n);T=CreateBiTree(T);printf(叶子节点的个数是: );printf( %dn,LEAF(T); printf(打印该二叉树结构后的结果为:n);Print(T,5);system(pause); 测试结果:用户使用说明:请按先序遍历所得数据输入(当某节点是叶子时用*表示):(输入先序遍历序列)叶子节点的个数是: (显示叶子节点的个数)打印该二叉树结构后的结果为:(显示二叉树结构直观凹入图)心得体会:通过对二叉树的学习与同学之间的交流,我对二叉树及其递归建立和遍历有了更加深入的了解,感觉学到了很多东西,感受到了学习的乐趣。7借鉴材料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值