定义:平衡二叉树是一棵二叉排序树,或者为空,或者满足以下条件:
1)左右子树高度差的绝对值不大于1;
2)左右子树都是平衡二叉树。
平衡因子:左子树的高度减去右子树的高度,显然,在平衡二叉树中,每个结点的平衡因子的值为-1,0或1。
如何构造平衡二叉树(AVL树)
在平衡的二叉排序树中插入一个结点,当出现不平衡时,根据不平衡情况分四种调整方法
——假设最低不平衡结点为A,根据新插入结点与A的位置关系来命名调整方法:
LL型:新插入结点在A的左孩子(L)的左子树(L)中;
LR型:新插入结点在A的左孩子(L)的右子树(R)中;
RL型:新插入结点在A的右孩子(R)的左子树(L)中;
RR型:新插入结点在A的右孩子(R)的右子树(R)中。
[例子]:依次输入下列数据构造一棵平衡二叉树:
100,90,80,60,70,50,120,110,150,87。