求教高手给我解答一下该数据结构题!程序如下:

[复制链接]
查看11 | 回复1 | 2011-1-4 16:55:56 | 显示全部楼层 |阅读模式
int NumOfBranchNode(BTree T)
{
if !T
return -1;
if !(T->lchild)||!(T->rchild)
{ if !(T->lchild)||(T->rchild)
return 1+NumOfBranchNode(T->rchild);
{if (T->lchild)||!(T->rchild)
return 1+NumOfBranchNode(T->lchild);
return 0;
}
else
return 1+NumOfBranchNode(T->lchild)+NumOfBranchNode(T->rchild);
}

回复

使用道具 举报

千问 | 2011-1-4 16:55:56 | 显示全部楼层
这个是不是求二叉树的结点个数啊?如果T为空,则返回-1,说明是空树,没有结点。先解释最后一个else:如果T的左右子树都不是空,那么就一直递归下去;否则的话如果左子树为空,就计算右子树的结点数。否则就计算左子树的结点数,最后返回的就是该树的结点数N
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行