Course playlist
线性数据结构 (4课)
队列
链表
向量
简单树 (3课)
树的定义和概念
树的表示和存储
二叉树的定义与性质
二叉树的表示与存储
二叉树的遍历
特殊树 (4课)
完全二叉树的定义与性质
完全二叉树的数组表示法
哈夫曼树,哈夫曼编码
二叉搜索树的定义和构造

完全二叉树 是一种特殊的二叉树,它满足以下条件:

除最后一层外,其余所有层都是满的(即达到该层最大节点数)。

最后一层的所有节点都尽可能靠左排列。


这个定义可以更直观地理解为:如果给一棵深度为 h 的完全二叉树的所有节点从上到下、从左到右依次编号(从1开始),那么其节点编号序列是连续的,没有空档。

完全二叉树可以用一维数组高效存储,而不会浪费空间。
若将根节点编号为 1,则对任意节点 i (从 1 开始编号):
父节点编号为 ⌊i/2⌋
左孩子编号为 2i
右孩子编号为 2i+1

设完全二叉树的深度为 h(根节点为第1层),则:
前 h-1 层的节点总数为:2^(h-1) - 1
第 h 层至少有一个节点,至多有 2^(h-1) 个节点。

设总节点数为 n,则高度 h 可以通过以下公式计算: h=⌊log2n⌋+1

所有叶子节点只可能出现在最后两层中。
度为1的节点最多只有1个,且该节点只有左孩子,没有右孩子。

满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。
一个有 n 个节点的完全二叉树,可以看作是由一个深度相同的满二叉树,从最后一个节点开始从右至左连续去掉若干个节点得到的。
1 如果一棵二叉树只有根结点,那么这棵二叉树高度为 1。请问高度为 5 的完全二叉树有( )种不同的形态?
登录后查看选项
2 如果一棵二叉树是满二叉树, 但是它不一定是完全二叉树。
登录后查看选项
3 完全二叉树的任意一层都可以不满。
登录后查看选项
4 一棵完全二叉树有165个结点,则叶子结点有多少个?
登录后查看选项
5 一个含有 100 个结点的完全二叉树,高度为 8。
登录后查看选项
6 是否完全二叉树?
        1
       / \
      2   3
     / \
    4   5
登录后查看选项
7 是否完全二叉树?
        1
       / \
      2   3
     / 
    4   
登录后查看选项
8 是否完全二叉树?
        1
       / \
      2   3
       \
        5
登录后查看选项
9 是否完全二叉树?
        1
       / 
      2   
     / \
    4   5
登录后查看选项
题目 对/错/率 难度 记录 通过
姓名 分数 提交时间 操作
杨辰 33.33 2025-10-23 18:53 查看
158 44.44 2025-10-23 18:31 查看
158 11.11 2025-10-23 18:30 查看
158 33.33 2025-10-23 18:29 查看
158 11.11 2025-10-23 18:24 查看
158 20 2025-10-22 10:45 查看
158 55.56 2025-10-22 10:43 查看
158 100 2025-10-22 10:36 查看