怎么编写递归算法,统计二叉树中度为2的结点个数?

如题所述

int leafnum(Bnode *t)
{
int i,j;
if( t == NULL)return 0;
else if( t->lchild == NULL&& t->rchild == NULL)
return 1;
else
{
i = leafnum(t->lchild);
j = leafnum(t->rchild);
return (i+j);
}
}

int TwoNodesNum(BiTree T)
{
int
i,j;
if(T==NULL)
return 0;
else


if(T->lchild!=0&&T->rchild!=0)

return
1;
else
{
i=TwoNodesNum(T->lchild);
j=TwoNodesNum(T->rchild);
return
i+j;
}

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

温馨提示:答案为网友推荐,仅供参考