统计二叉树中叶子节点的数目
来源:互联网 发布:数据列表测试用例 编辑:程序博客网 时间:2024/03/28 22:44
#include <stdio.h>#include <malloc.h>typedef char ElemType;typedef struct Node{ ElemType data; Node *Lchild,*Rchild;} BiTNode,*BiTree;int ans=0;BiTree CreateBiTree();//建立二叉树void Leaf1(BiTree T);//后序遍历统计叶子节点数目int Leaf2(BiTree T);//分治法统计叶子节点数目int main(void){ BiTree root=CreateBiTree(); int count=Leaf2(root); printf("%d\n",count); Leaf1(root); printf("%d\n",ans); return 0;}BiTree CreateBiTree()//建立二叉树{ ElemType x; BiTree T; scanf("%c",&x); if(x=='#') T=NULL; else { T=(BiTree)malloc(sizeof(BiTNode)); T->data=x; T->Lchild=CreateBiTree(); T->Rchild=CreateBiTree(); } return T;}void Leaf1(BiTree T)//后序遍历统计叶子节点数目{ if(T!=NULL) { Leaf1(T->Lchild); Leaf1(T->Rchild); if(T->Lchild==NULL&&T->Rchild==NULL) ans++; }}int Leaf2(BiTree T)//分治法统计叶子节点数目{ int count; if(T==NULL) count=0; else if(T->Lchild==NULL&&T->Rchild==NULL) count=1; else count=Leaf2(T->Lchild)+Leaf2(T->Rchild); return count;}
阅读全文
1 0
- 统计二叉树中叶子节点的数目
- 计算二叉树中叶子节点的数目
- 统计二叉树中叶子节点的个数
- 二叉树中叶子节点的个数
- 二叉树3(统计二叉树中叶子节点的个数)
- 计算二叉树中叶子结点的数目
- 二叉树中叶子节点的统计和树高问题
- 二叉树中叶子节点的个数(递归)
- 二叉树中叶子节点的个数(非递归)
- 编写递归算法,计算二叉树中叶子结点的数目
- 求二叉树中叶子节点个数,总的节点个数,第K层的节点个数
- 二叉树中叶子节点的个数第K层的节点个数
- 以二叉链表为存储结构, 试编写计算二叉树中叶子结点数目的递归算法.
- 编写递归算法 计算二叉树中叶子节点的个数
- 求一颗二叉树中叶子节点间最大的路径长度
- 树——统计完全二叉树的节点数目
- 计算二叉树叶子节点的数目
- C++算法之 求二叉树中叶子节点的个数 与 判断两棵二叉树是否结构相同
- 每日一C,指向一维、二维数组的指针及数组作为函数形参的思考(二)
- C++中数字与字符串之间的转换
- 【算法题】计算糖果
- centos 常用查进程服务命令
- 通过Arduino控制二自由度云台
- 统计二叉树中叶子节点的数目
- Java初级入门之 Three 控制语句
- Spark中组件Mllib的学习 RowMatrix行矩阵
- struts2第十二讲学习笔记,综合使用实现登录,页面中使用ognl表达式请求值
- 自定义控件之组合控件---以带下划线的EditText为例
- linux 常用命令
- Android Context 上下文 你必须知道的一切
- 黑盒测试方法(五)正交实验设计方法
- ESP82666接线问题