求C语言统计一棵二叉树节点总数的算法(只要函数)

各位高手帮忙呀,是考试题目。
2025-03-09 22:11:38
推荐回答(2个)
回答1:

用递归啊,除了叶子节点以外,每个节点都有左子树和右子树,只要判断子节点不为空就用递归调用函数统一子树的节点数,例如
f(t)=f(l)+f(r)+1;
节点总数等于左子树的节点数+右子树的节点数+1

回答2:

int GetCount(BTree T)
{
if(T==NULL) return 0;
return 1+GetCount(T.left)+GetCount(T.right);
}