有一个计算二叉树节点的公式,相信很多人都知道:度为0的节点数为度为2的节点数
加1,即n0=n2+1,知道这个公式,相关题目就可以轻松解决;
下面来讨论下如何得出这个公式的:
设:
k:总度数
k+1:总节点数
n0:度为0的节点
n1:度为1的节点
n2:度为二的节点
根据二叉树中度和节点的守衡原理,可列出以下一组方程:
k=n2*2+n1;
k+1=n2+n1+n0;
将上面两式相减得到:n0=n2+1;
举个书中的例子:已知767个节点的完全二叉树,求其叶子节点个数:
n0=n2+1;
n=n0+n1+n2;
由上面,消掉n2得到:n=2n0+n1-1;
由于完全二叉树度为1的只有0个或1个两种情况,所以,将0或1带入上面公式,整理后得:
n0=(n+1)/2或者n0=n/2;
看看n是否能被2整除,能则用n0=n/2。否则用n0=(n+1)/2
既叶子节点为n0=(n+1)/2=384
二叉树的度计算
原文作者:crisy1991
原文地址: https://blog.csdn.net/crisy1991/article/details/51693119
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/crisy1991/article/details/51693119
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。