根据定义:除最后一层,其它各层都是满的,且最后一层的所有结点都在左边。作图就你需要熟练了,别人用没用公式我不知道,反正我不是根据公式做出来的。
当然,你熟练之后可以不画图(画图浪费时间),直接想出结果:
先判断层数:假设有6层,则第四层不可能有叶节点(因为第5层是满的),所以只可能有4或5层。显然有5层的结点数最多。
再判断个数:有5层时,第四层连了叶节点的结点有3个(8减5),每个最多连2个结点,2×3=6。共1+2+4+8+6=21个。
所以可以总结公式了:
【题】已知完全二叉树T的第n层有m个叶节点,则T的结点个数最多是?
【解】树T有(n+1)层,第n层连了叶节点的结点有[2^(n-1)-m]个,每个最多连2个结点,最后一层有[2^n-2m]个。共1+2+4+……+2^(n-1)+2^n-2m=2^(n+1)-2m-1个。
将题中n=4,m=5代入,得:2^(4+1)-2×5-1=21个。