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

学习 时间:2026-06-05 05:34:33 阅读:952
怎么求二叉树的叶子树个数?

最佳回答

老迟到的电源

丰富的牛排

2026-06-05 05:34:33

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-06-05 05:34:33

    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);}}

上一篇 梅的品格

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