记录一下学习AVL的理解
1. 左子树 < 根 < 右子树
2. 左右子树高度 <=1
2. 插入时如果平衡被破坏,通过左旋和右旋,配合摘叶操作重新平衡
3. 左旋:
3.1 右节点(k2)变成根节点
3.2 根节点(k1)变成右节点(k2)的左节点
3.3 右节点(k2)原来的左节点(k3)变成根节点(k1)的右节点,此步骤成为摘叶
如下图:

右旋类似,只不过是改变了方向,摘叶的时候,摘的是右节点。
有时候单个旋转并不能做到平衡,那么就需要左旋+右旋配合,一般成为双旋。
本文介绍了AVL树的基本结构,重点讲解了插入后如何通过左旋、右旋以及摘叶操作来保持树的平衡,包括单旋和双旋的情况。
记录一下学习AVL的理解
1. 左子树 < 根 < 右子树
2. 左右子树高度 <=1
2. 插入时如果平衡被破坏,通过左旋和右旋,配合摘叶操作重新平衡
3. 左旋:
3.1 右节点(k2)变成根节点
3.2 根节点(k1)变成右节点(k2)的左节点
3.3 右节点(k2)原来的左节点(k3)变成根节点(k1)的右节点,此步骤成为摘叶
如下图:

右旋类似,只不过是改变了方向,摘叶的时候,摘的是右节点。
有时候单个旋转并不能做到平衡,那么就需要左旋+右旋配合,一般成为双旋。
1211
656
292

被折叠的 条评论
为什么被折叠?