求二叉树的高度、结点数和叶结点数
2012-09-10 21:21
176 查看
1.程序代码(高度):
int depth(BinTree t)
{
if(t == NULL)
return 0;
int dl = depth(t->llink);
int dr = depth(t->rlink);
return (dl>dr ? dl : dr)+1;
}
2.程序代码(结点数):
int num_of_nodes(BinTree t)
{
if(t == NULL)
return 0;
return 1+num_of_nodes(t->llink)+num_of_nodes(t->rlink);
}
3.程序代码(叶结点数):
int num_of_nodes(BinTree t)
{
if(t == NULL)
return 0;
if(t->llink == NULL && t->rlink == NULL)
return 1;
return num_of_nodes(t->llink)+num_of_nodes(t->rlink);
}
int depth(BinTree t)
{
if(t == NULL)
return 0;
int dl = depth(t->llink);
int dr = depth(t->rlink);
return (dl>dr ? dl : dr)+1;
}
2.程序代码(结点数):
int num_of_nodes(BinTree t)
{
if(t == NULL)
return 0;
return 1+num_of_nodes(t->llink)+num_of_nodes(t->rlink);
}
3.程序代码(叶结点数):
int num_of_nodes(BinTree t)
{
if(t == NULL)
return 0;
if(t->llink == NULL && t->rlink == NULL)
return 1;
return num_of_nodes(t->llink)+num_of_nodes(t->rlink);
}
相关文章推荐
- 求二叉树的高度、结点数和叶结点数
- 二叉树如何实现双亲结点及求树的高度
- 二叉树的叶结点和高度
- 二叉树的【深/高度】【度为0/1/2的结点数】【遍历】【查找】【销毁】
- NOJ1019-计算二叉树的高度和结点数
- 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径
- 计算二叉树的高度和结点数
- 南邮 OJ 1019 计算二叉树的高度和结点数
- 二叉树BiTree的先序遍历.中序遍历.后序遍历.结点数.叶子结点数和数的高度
- 【数据结构作业四】以二叉链表作存储结构,建立一棵二叉树,并输出该二叉树的先序、中序、后序遍历序列、高度和其叶子结点数。
- 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
- 二叉树的先序中序后序以及递归算法求高度和结点数目
- 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
- 二叉树的查找、二叉树高度、二叉树获得双亲结点、构造二叉树、二叉树的广义表表示法、二叉树的插入删除、二叉树的非递归实现
- 数据结构学习笔记10——区分叶结点与分支结点的二叉树实现方案二
- 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
- 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
- 数据结构学习笔记9——区分叶结点与分支结点的二叉树实现方案一
- 1019_计算二叉树的高度和结点数
- 证明:一个有n个结点的非空二叉树的高度至少为lgn