什么是完全二叉树?什么是叶子结点?一道题搞懂

引言

在数据结构“树与二叉树”的章节中,完全二叉树的性质是考研408和期末考试的常客。很多同学对它的定义倒背如流,但一遇到具体题目就容易出错。本文精选了一道经典题目,通过拆解完全二叉树和叶结点这两个关键定义,配合详细的图解,带你一步步避开陷阱,真正理解这类题的解法。看完你会发现,所谓的难题,不过是基础概念的灵活运用。

目录

一、题目

二、两个必须搞懂的定义

完全二叉树

叶结点

三、解题思路

四、画图

五、计算

一、题目

已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是( )。

A. 39 B. 52 C. 111 D. 119

答案:C(白色字体,扫过可见)

二、两个必须搞懂的定义

完全二叉树

一句话:除最后一层外,其他层全满;最后一层结点从左到右连续排列,右边可以空。

✅ 是完全二叉树:

1 / \ 2 3 / \ / 4 5 6

(第3层从左边开始连续坐了4、5、6,7的位置空着,允许)

❌ 不是完全二叉树:

1 / \ 2 3 / \ \ 4 5 7

(6的位置空了,直接坐7,中间不连续,不行)

叶结点

一句话没有孩子的结点(度为0的结点)。

在完全二叉树中,叶结点只能出现在最后两层

三、解题思路

题目求结点数最多→ 让树尽可能深→ 树要有第7层。

第6层情况:

  • 最多 2^(6-1) = 32 个结点

  • 其中 8 个是叶结点(无孩子)

  • 剩下 32 - 8 = 24 个非叶结点,每个有 2 个孩子

第7层情况:

  • 24 × 2 = 48 个结点

关键点:为了保证仍是完全二叉树,第6层的8个叶结点必须是最右边的8个,这样第7层的48个结点才能从最左边开始连续排列。

四、画图

第1~5层:(前五层全部排满,共31个结点) 第6层: 32 33 34 35 ... 54 55 | 56 57 58 59 60 61 62 63 ├──── 非叶结点(24个) ──┤ ├──── 叶结点(8个) ────┤ 每个结点有2个孩子 (无孩子,全在最右边) /\ / \ 第7层: 共48个结点(第6层的非叶结点的孩子结点)

五、计算

  • 前6层满二叉树:2^6 - 1 = 63 个

  • 第7层:48 个

  • 总数 = 63 + 48 = 111

选 C。

一句话总结:完全二叉树 = 前面全满 + 最后一层从左到右连续排;叶结点 = 没孩子的结点。这道题考的就是这两个定义。