二叉树的基本算法 二叉树的深度怎么算?

二叉树的深度怎么算?设计计算二叉树中所有节点值之和的算法?递归方法树中的节点数=左子节点数和右子节点数1]]树为空:节点数为0inttreenodes(BiTree){intnum1,num2if(t

二叉树的深度怎么算?

设计计算二叉树中所有节点值之和的算法?

递归方法

树中的节点数=左子节点数和右子节点数1]]树为空:节点数为0

inttreenodes(BiTree)

{

intnum1,num2

if(t==null)//tree为空

return(0)

num1=treenodes(t->lchild)

num2=treenodes(t->rchild)

return(num2,num1)//左、右子节点数1]]}

让二叉树的叶节点数为N0,二阶节点数为N2,N1为节点数因为二叉树中所有节点的阶数等于或等于2,所以二叉树中的节点总数是n=N0,N1,N2

让我们看看二叉树的分支数。除根节点外,所有其他节点都有一个分支。设B为分支总数,n=b1][因为这些分支是由阶数为1或2的节点发出的,B=N1 N2,n=N1 2*N2 1

通过综合n=N0 N1 N2和n=N1 2*N2 1,我们可以得到N0=N2 1

完全二叉树是一个特殊的二叉树,它适用于N0=N2 1