AVL 树是自平衡二叉搜索树(Balanced BST)的一种,全称是Adelson-Velsky and Landis Tree,由两位苏联科学家发明。它满足普通BST所有性质,并在每个插入或删除操作后保持平衡性,即:
每个节点的左右子树高度差(平衡因子)不超过1。
平衡因子 = 左子树高度 - 右子树高度
平衡因子 ∈ {-1, 0, 1},AVL树合法
若超出范围,则需“旋转”来恢复平衡
插入左子树的左边导致不平衡。
不平衡前:
30
/
20
/
10
旋转后:
20
/ \