解析平衡二叉树(AVL树)
一。平衡二叉树的定义
平衡二叉树也叫AVL树,它或者是一颗空树,或者具有以下性质的二叉排序树:它的左子树和左子树的高度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。
二。平衡二叉树的结构
如基本概念所树,它具有一个左子树和一个左子树,且对于任意一个子树而言,左子树和右子树高度只差不超过1.
三。 平衡因子
我们将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF(Balance Factor),所以平衡二叉树每一个结点的平衡因子只能是-1,0,1,只要二叉树上有一个结点的平衡因子的绝对值大于1,则这棵二叉树就不是平衡二叉树。
如何将不平衡的二叉树平衡:
主要有四种调整方式:
LL型:在左子树的左孩子上插入元素;(右旋)
RR型:在右子树的右孩子上插入元素;(左旋)
LR型:在左子树的右孩子上插入元素;(先左旋再右旋)
RL型:在右子树的左孩子上插入元素;(先右旋再左旋)
LL型
**图1&#