考研完全二叉树问题
一棵有124个叶节点的完全二叉树,最多有多少个节点?请高手给出算的过程!
[解决办法]
设n0,n1,n2分别表示度为0,1,2的节点的个数。
由已知,度为0的节点(叶节点)个数n0=124。
而n0=n2+1,于是,n2=n0-1=123。
根据完全二叉树的定义可得:在完全二叉树中度为1的结点n1只能取两种情况,要么为0,要么为1。
于是,总节点数最多有n1+n2+n0=1+123+124=248个.
[解决办法]
这个问题我认为 medie2005 是正确的
2^7-1+120因该是这么算出来的吧
2^7-1是因为上面6层是完全满2叉树,120因该是这么算的
设最后一层有x个节点,那么有方程
64-x/2+x=124 //64-x/2是第6层的叶节点数,+x就是所有节点数=124,得出x=120
我想p0303230 是怎么算的吧
但是他忽略一个条件,就是x不被2整除时,当x=120第6层的前60个节点都变成了内节点
于是剩余4个节点+x=124,但是当第61个节点只有一个孩子,即x=121时
第61个节点也是内节点,第6层有3个叶节点,+x(121)=124,这时才是最多的2^7-1+121,
所以方程应该这么列64-(x+1)/2+x=124
或者medie2005的解法就是正确的