怎麼求二叉樹的葉子樹個數?
- 2021-11-07
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^枝葉數