AVL树
2020-10-27 本文已影响0人
我犟不过你
详细定义参考:
https://baike.baidu.com/item/AVL%E6%A0%91/10986648?fr=aladdin
数据结构学习网站:
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。
特点:
AVL树本质上还是一棵二叉搜索树:
1.本身首先是一棵二叉搜索树。
2.带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。
也就是说,AVL树,本质上是带了平衡功能的二叉查找树(二叉排序树,二叉搜索树)。
四种旋转方式:
从最下级节点起,开始旋转。
1、左单旋
2、右单旋
左单旋相反
3、先右旋再左旋
image.png4、先左旋再右旋
参看上一个图