00问答网
所有问题
求编写递归算法,统计二叉树中度为1的节点数目C语言
谢谢哟~
举报该问题
推荐答案 2012-11-01
int Degree(BTree * t)
{
if(!t) //根节点为空
return 0;
else if (t->lchild == NULL && t->rchild == NULL)//只有根节点
return 0;
else if (t->lchild != NULL && t->rchild == NULL)//有左孩子没有右孩子
return 1+ Degree(t->lchild);
else if (t->lchild == NULL && t->rchild != NULL)//有右孩子没有左孩子
return 1 + Degree(t->rchild);
else if (t->lchild != NULL && t->rchild != NULL)//左右孩子都有
return Degree(t->lchild) + Degree(t->rchild);
}
手打,希望对你有帮助!
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/ZInTjnnjT.html
其他回答
第1个回答 2012-11-01
二叉树中度为1的就是叶子即使求叶子节点数
void left(BiTree T)
{
if ( T )
{if ((!T->lchild)&& (!T->rchild))
count++;
left(T->lchild);
left(T->rchild);
}
}
其中可以将count初始化为0即 int count=0;作为全局变量
我已经用过的不会错滴
望对你有帮助!!
第2个回答 2012-11-03
代码少一点的话,看这个
void Degree(BTree *t,int &count)
{
if(t)
{
if((t->left&&!t->right)||(!t->left&&t->right))
count++;
Degree(t->left,count);
Degree(t->right,count);
}
}
相似回答
编写一
个
递归算法,
计算
二叉树中度为1的
结点
数目
答:
return Degrees1(t->lchild)+Degress1(t->rchild);}
设二叉树的存储结构为二叉链表
,编写
有关
二叉树的递归算法
:
答:
(1)
统计二叉树中度为1的
结点个数。(2)统计二叉树中度为2的结点个数。(3)统计二叉树中度为0(叶结点)的结点个数。(4)统计二叉树的高度。(5)统计二叉树的宽度,即在二叉树的各层上,具有结点数最多的那一层上的结点总数。(6)从二叉树中删... 展开 972630969 | 浏览2043 次 |举报 我有更好的答案推荐...
假定
一
棵二叉树用二叉链表存储试
编写求
出
二叉树中1度
结点个数的
算法
答:
1度结点 2度结点个数分别为x0 x1 x2 / x0+x1+x2 = node_count;//三种结
点数
之和为总结点数 0*x0 + 1*x1 + 2*x2 = node_count - 1;//树枝数等于结点数减1(去掉根结点)一式乘2减二式得 2*x0 + x1 = node_count + 1;因此只要知道叶子数和总结点数就可得1度结点个数 ...
关于
统计二叉树中
度数
为一的
结点个数
算法
很不理解 求高手赐教!!! 详细...
答:
你这个是间接
递归
:有两个函数数:Degrees1 ( BinTreeNode<Type> * t )及:Degrees1 ( t->leftChild, k )你分别看看这两个函数的实现应该能明白
大家正在搜
编写一个算法求二叉树的高度
二叉树的递归算法
二叉树的递归遍历算法
二叉树中序遍历递归算法
二叉树叶子节点数算法
二叉树的中序遍历算法
二叉树的遍历算法
二叉树的遍历算法代码
二叉树的遍历算法图解
相关问题
编写递归算法,统计二叉树中度为1的节点数目C语言怎么写?
求,编写递归算法,统计二叉树中度为2的结点个数(C语言)
写一算法,求二叉树中度为1的结点个数?(c)
编写一个递归算法,计算二叉树中度为1的结点数目
怎么编写递归算法,统计二叉树中度为2的结点个数?
用非递归算法实现:统计二叉树中度为1的结点个数、度为2的结点...
二叉树中,求度为2和1的节点及叶节点的个数递归算法!注意:仅...
编写递归算法,统计二叉树中度为2的结点个数