平衡二叉树——AVL树

平衡二叉树

平衡二叉树的定义

平衡二叉树是一棵空的二叉排序树,或者是具有下列性质的二叉排序树

  1. 根节点的左子树和右子树的深度最多相差1
  2. 根节点的左子树和右子树也是平衡二叉树

平衡因子

结点的平衡因子是该节点左子树和右子树的深度之差,如下图,每个结点里所注的数字是该节点的平衡因子
平衡二叉树——AVL树

最小不平衡子树

最小不平衡子树是指在平衡二叉树的构造过程中,以距离插入结点最近的、且平衡因子绝对值大于1的结点为根的子树。

平衡化旋转

LL型

平衡二叉树——AVL树

RR型

平衡二叉树——AVL树

LR型

平衡二叉树——AVL树

RL

平衡二叉树——AVL树

平衡树创建例子

按{20,35,40,15,30,25,38}创建平衡树
平衡二叉树——AVL树
平衡二叉树——AVL树
平衡二叉树——AVL树
平衡二叉树——AVL树