Appearance
题目
已知一棵完全二叉树的第 6 层(设根为第 1 层)有 8 个叶结点,则该完全二叉树的结点个数最多是()。
错因
A
把"第 6 层有 8 个叶结点"误读成"第 6 层共 8 个节点",只算了第 1 层到第 6 层的节点数 1+2+4+8+16+8=39,完全忽略了第 7 层的存在。
B
意识到第 7 层存在,但第 6 层内部节点数当成了 8(把"叶子 8 个"和"非叶子 8 个"颠倒),算第 7 层时只用 8×2=16 个孩子,凑出 31+8+16=55 ≈ 52。本质是没分清"第 6 层 32 个里有 8 个叶子,剩下 24 个才是要往第 7 层延伸的内部节点"。
D
用了另一种方向的错误:认为一棵满 7 层的二叉树共 2⁷-1=127 个节点,然后从中减去 8(直接减去 8 个叶节点),得 127-8=119。实际上第 6 层有 8 个叶节点意味着这 8 个节点没有孩子,从满树中应该减去的是它们本应有的 2×8=16 个孩子,而不是 8 本身。
总解析
完全二叉树第 1 层到第 5 层必然全满,共 1+2+4+8+16=31 个节点。第 6 层最多有 2⁵=32 个节点,全部存在(因为树延伸到了第 7 层)。
第 6 层中有 8 个叶节点(没有孩子),其余 32-8=24 个节点是内部节点,各有 2 个孩子在第 7 层。
第 7 层节点数最多 = 24×2 = 48(在完全二叉树中,这 48 个节点从最左侧连续排列,条件满足)。
总节点数 = 31(前 5 层)+ 32(第 6 层)+ 48(第 7 层)= 111,答案 C。