AVL树最详细图示讲解(含 C 伪代码)

一、什么是 AVL 树?

AVL 树自平衡二叉搜索树(Balanced BST)的一种,全称是Adelson-Velsky and Landis Tree,由两位苏联科学家发明。它满足普通BST所有性质,并在每个插入或删除操作后保持平衡性,即:

每个节点的左右子树高度差(平衡因子)不超过1。


平衡因子定义:

平衡因子 = 左子树高度 - 右子树高度

  • 平衡因子 ∈ {-1, 0, 1},AVL树合法

  • 若超出范围,则需“旋转”来恢复平衡


二、AVL 树四种旋转情况图解

1️⃣ LL型(单右旋)

插入左子树的左边导致不平衡。

不平衡前:
     30
    /
   20
  /
 10

旋转后:
     20
    /  \
 

你可能感兴趣的:(c,工作中的API函数接口,网络,c语言,算法,开发语言)