一、平衡二叉树的相关概念
1、为了提高形态不均衡的二叉排序树的查找效率,应做“平衡化”处理,将二叉树变成平衡二叉树。
2、平衡二叉树的定义
平衡二叉树又称AVL树。
一棵平衡二叉树或者是空树,或者是具有下列性质的二叉排序树:
①左子树与右子树的高度之差的绝对值小于等于1;
②左子树和右子树也是平衡二叉排序树。
3、为了方便起见,给每个结点附加一个数字,给出该结点左子树与右子树的高度差。这个数字称为结点的平衡因子(BF) 。
平衡因子=结点左子树的高度 - 结点右子树的高度
根据平衡二叉树的定义,平衡二叉树上所有结点的平衡因子只能是-1、 0,或1。
二、失衡二叉排序树的调整与分析
1、当我们在一个平衡二叉排序树上插入一个结点时,有可能导致失衡,即出现平衡因子绝对值大于1的结点,如: 2、-2。如下图所示:
2、平衡调整的四种类型:
调整的原则:(1)降低高度 (2)保持二叉排序树的性质