首页 > 试题广场 >

以下函数功能是?

[单选题]
以下函数功能是( )
int func(BTNode *t)
{
    int n = 0;
    if (t == NULL)
        return 0;
    else if (t->lchild != NULL || t->rchild != NULL)
        n = 1;
    return (func(t->lchild) + func(t->rchild) + n);
}
  • 求所有叶子节点个数
  • 求所有节点个数
  • 求所有分支节点个数
  • 以上都不对
C.求所有分支节点个数
子树就是二叉树的分支,而度是分支的个数
分支节点 指度不为0的节点
t->lchild != NULL || t->rchild != NULL
这段代码的意思是当存在左分支或存在右分支时,说明当前节点为分支节点
最后递归返回
得到分支节点的个数
    
发表于 2015-10-22 23:25:26 回复(2)
C
发表于 2015-08-16 21:43:55 回复(0)
D.以上都不对
if(t->lchild !=NULL ||t->rchild!=NULL) n=1;
由此句可知,此fun()统计的是左右子节点均不为空的中间节点的数量
发表于 2015-01-08 14:41:13 回复(1)