11智能在线
新记
求编写递归算法,统计二叉树中度为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);
}
手打,希望对你有帮助!
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/smp72pp27.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的节点数目C语言怎么写?
求,编写递归算法,统计二叉树中度为2的结点个数(C语言)
写一算法,求二叉树中度为1的结点个数?(c)
编写一个递归算法,计算二叉树中度为1的结点数目
怎么编写递归算法,统计二叉树中度为2的结点个数?
用非递归算法实现:统计二叉树中度为1的结点个数、度为2的结点...
二叉树中,求度为2和1的节点及叶节点的个数递归算法!注意:仅...
编写递归算法,统计二叉树中度为2的结点个数