常见二叉树

📊 常见二叉树对比

树类型定义特点举例口诀
平衡二叉树 (AVL树)任意结点左右子树高度差 ≤ 1查找效率接近对数 O(log n),用于二分查找判定树高度差很小,但不一定“满”平衡≠完全
完全二叉树只有最底层可以不满,且最底层结点必须从左到右连续节点编号连续,适合用数组存储二叉堆就是完全二叉树完全=从左排队
满二叉树所有非叶子结点都有左右孩子,且所有叶子都在同一层结点数 = 2^h - 1高度=3时,结点数=7满=整齐对称
最优二叉树 (哈夫曼树)带权路径最短的二叉树权重大的叶子离根更近,用于编码压缩哈夫曼编码最优=权重近根
二叉搜索树(BST, Binary Search Tree)BST 的规则
1. 左子树所有结点 < 根结点
2. 右子树所有结点 > 根结点
3. 左右子树本身也都是 BST

📖 举例

1️⃣ 平衡二叉树

    4
   / \
  2   6
 / \ / 
1  3 5

左子树高度=2,右子树高度=2,差 ≤ 1 ✅

但不是完全二叉树(最底层右边缺 7)。

2️⃣ 完全二叉树

  • 从上到下,从左到右排满。
    1
   / \
  2   3
 / \  /
4  5 6


    1
   / \
  2   3
 / 
4

3️⃣ 满二叉树

所有叶子都在同一层,且每个非叶子都有两个孩子。

节点数n = 2^h^-1

    1
   / \
  2   3
 / \ / \
4  5 6  7