二叉树的节点个数

1、一棵完全二叉树有有1001个节点,叶子节点个数为多少?

叶子节点即没有子节点的节点。设二叉树的叶子节点数为n0,度为1的节点数为n1,度为2 的节点数为n2,则n0+n1+n2=1001。根据二叉树的性质可知,n0=n2+1。代入可得2n2+n1+1=1001。又由于完全二叉树的节点数只能为0或1,所以此处的n1为0,解得n2=500,n0=501。

证明思路:二叉树节点总数比边的总数多一(根节点),故n=n0+n1+n2,e=2n2+n1=n-1。联立可得n0=n2+1

2、对于节点数为n,叶子节点n0,度为1的节点数n1,度为2的节点数n2的二叉树,其最大高度可以如何表示。最大高度则,每层只有一个节点,故可表示为n或者n0+n1。

3、节点数为4的二叉树有多少种形态?

第一层有一个根节点,第二层有三种情况:

第二层有一个左节点->第三层有两个节点或(第三层有一个左节点,第四层有一个右节点或一个左节点)或(第三层有一个右节点,第四层有一个左节点或一个右边节点)

第二层有一个右节点(同上);第二层有两个节点(第三层有四种情况)所以该二叉树有14种形态。

你可能感兴趣的:(数据结构,算法)