怎么求二叉树的叶子树个数?

学习 时间:2026-04-03 12:32:02 阅读:849
怎么求二叉树的叶子树个数?

最佳回答

成就的黑裤

自信的香菇

2026-04-03 12:32:02

1。定理:二叉树如果有v0 个 叶子节点 ,那么就有v0-1个 度为二的节点 就是v0-1=v2
定理:二叉树有N个节点 N=v0+v1+v2 即 节点总数等于度为0,1,2的节点的和。
所以啦,只要知道N v0 v1 v2这四个数值中的任意两个 就可以利用定理中的两个公式求其他两个 啦。
2如果你要问的是算法,那就简单啦
int leaf(Btree bt)
{
int num1,num2;
if(bt=NULL) return 0;
else if(bt->Lchild==NULL&&bt->Rchild==NULL) return 1;
else
{
num1=leaf(bt->Lchild);
num2=leaf(bt->Rchild);
return (num1+num2);
}
}

最新回答共有2条回答

  • 温柔的滑板
    回复
    2026-04-03 12:32:02

    1。定理:二叉树如果有v0 个 叶子节点 ,那么就有v0-1个 度为二的节点 就是v0-1=v2 定理:二叉树有N个节点 N=v0+v1+v2 即 节点总数等于度为0,1,2的节点的和。所以啦,只要知道N v0 v1 v2这四个数值中的任意两个 就可以利用定理中的两个公式求其他两个 啦。2如果你要问的是算法,那就简单啦int leaf(Btree bt){int num1,num2;if(bt=NULL) return 0;else if(bt->Lchild==NULL&&bt->Rchild==NULL) return 1;else{num1=leaf(bt->Lchild);num2=leaf(bt->Rchild);return (num1+num2);}}

上一篇 梅的品格

下一篇 后现代风格品牌家具怎么装修