一颗有124个叶结点的完全二叉树,最多有248个结点。
当完全二叉树的最右非终结结点子树个数为一时,非叶节点数目 = 叶节点;当完全二叉树的最右非终结结点子树个数为二时,非叶节点数目 = 叶节点+1。所以,再回到题目本身,我们也要分两种情况讨论:
1、最右非终结结点子树个数为二时,非叶结点数= 124-1 = 123 =124-1=123=1241=123
二叉树结点总数= 124 + 123 = 247 =124+123=247=124+123=247
S = 120 , T = 4。S=120。T=4S=120。
第n-1层结点数量为:64 6464(即S / 2 + T S/2+TS/2+T)
2、最右非终结结点子树个数为一时,非叶结点数= 124 =124=124
二叉树结点总数= 124 + 124 = 248 =124+124=248=124+124=248
S = 121,T = 3,S=121,T=3S=121,T=3 (相加后就是题目要求的叶节点的总数)
第n-1层结点数量为:64 6464(即( S + 1 ) / 2 + T (S+1)/2+T(S+1)/2+T)
又因为题目要求最大总结点数,取第二种情况,答案:248
扩展资料:
完全二叉树的特点叶子结点只能出现在最下层和次下层,且最下层的叶子结点集中在树的左部。需要注意的是,满二叉树肯定是完全二叉树,而完全二叉树不一定是满二叉树。
1>如果一个结点左右孩子都不为空,则pop该节点,将其左右孩子入队列;1>如果遇到一个结点,左孩子为空,右孩子不为空,则该树一定不是完全二叉树。
2>如果遇到一个结点,左孩子不为空,右孩子为空;或者左右孩子都为空;则该节点之后的队列中的结点都为叶子节点;该树才是完全二叉树,否则就不是完全二叉树。
248。
计算过程如下:
1、根据二叉树的性质n0 = n2 + 1,因此度为2的结点数为124-1 = 123。
2、而完全二叉树中度为1的结点数最多1个。
3、因此该完全二叉最多有:124+123+1 = 248个结点。
完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。
1、所有的叶结点都出现在第k层或k-l层(层次最大的两层)
2对任一结点,如果其右子树的最大层次为L,则其左子树的最大层次为L或L+l。
3、一棵二叉树至多只有最下面的两层上的结点的度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上,则此二叉树成为完全二叉树,并且最下层上的结点都集中在该层最左边的若干位置上,而在最后一层上,右边的若干结点缺失的二叉树,则此二叉树成为完全二叉树。
扩展资料:
本题的另一算法:
1、n=n0+n1+n2,n0=n2+1 ==>n=2n0+n1-1 ;
2、其中在完全二叉树中, n1或为0或者为1;
3、要使最多结点,则n1为1, 所以得到节点n=248;
判断一棵树是否是完全二叉树的思路:
1、如果树为空,则直接返回错;
2、如果树不为空:层序遍历二叉树;
3、如果一个结点左右孩子都不为空,则pop该节点,将其左右孩子入队列;
4、如果遇到一个结点,左孩子为空,右孩子不为空,则该树一定不是完全二叉树;
5、如果遇到一个结点,左孩子不为空,右孩子为空;或者左右孩子都为空;则该节点之后的队列中的结点都为叶子节点;该树才是完全二叉树,否则就不是完全二叉树;
答案是249,通过计算我们知道是,247,但你考虑有最后一层不是都是二个节点,是分为两个的,最多就是249了。
124=2^7-4;第八层有120个叶子结点,第七层剩余4个叶子结点;所以节点数=1+2+……+2^6+120=2^8-1-8=247和答案好像也不一致,哪位高手帮检查一下~~
根据二叉树的性质n0 = n2 + 1,因此度为2的结点数为124-1 = 123
而完全二叉树中度为1的结点数最多1个
因此该完全二叉最多有124+123+1 = 248个结点