一、 相关概念
1.1 AVL定义
平衡二叉树又称为AVL树,它或者是颗空树,或者是具有下列性质的二叉排序树:
- 左右两个子树的高度差值不超过1;
- 它的左右子树也是一颗平衡二叉树;
1.2 平衡因子
某节点的左子树与右子树的高度差即为该节点的平衡因子BF。
按照定义我们可以得到,AVL上所有结点的平衡因子只可能是 -1,0 或 1。
下面这张图中标出了每一个节点的平衡因子,而根节点的平衡因子为-2,所以显然这不是一颗平衡二叉树。
![在这里插入图片描述](https://img-blog.csdnimg.cn/37b42cf55637423fb5bd21db1f382caf.png)
1.3 AVL的作用
为了解决搜索二叉树在极端的情况下退化成单支树,引入了平衡二叉树,使得查找的效率得到改善;
![在这里插入图片描述](https://img-blog.csdnimg.cn/74410814730343f88d3dcfe8c9794ce6.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0VtcGVyb3IxMA==,size_16,color_FFFFFF,t_70)