二叉树的查找与遍历
1、有n个结点的满二叉树,计算它的度为1的结点数目、叶子结点的数目。
设度为1的结点数目为n1,叶子结点数目为n0,度为2的结点数目为n2,因该二叉树为满二叉树,所以度数为1的结点数目为0,然后根据n0=n2+1;又因为n=n0+n2;所以n=2n0-1;所以叶子结点数目为n0=2n0/2;
2、已知完全二叉树的第7层上有10个叶子,则该二叉树至多有多少个结点?
该二叉树结点数达到最大值,深度为因为8,最少深度可以为7,前七层应为满二叉树,
第七层的叶子应为本层的最右边,第8层的结点数目为(27-1_ 10)*2=108,这颗二叉树的总结点为(27-1_ 10)*2+
(27-_ 1)=235
3、已知某度为k的树中,其度为0、1、2、…、k-1的结点数分别为n0、n1、n2、…、nk-1。求该树的结点总数n,并给出推导过程。
设该树中的叶子数为n0个。该树中的总结点数为n个,则有:
n=n0+n1+n2+…+nK (1)
n-1=0*n0+1*n1+2*n2+…+K*nK (2) //去掉根结点
联立(2)-(1)方程组可得:
叶子数为:n0=1+0*n1+1*n2+2*n3+...+(K-1)*nK
∴树的结点总数n=k