AVL树

作者: 修符道人 | 来源:发表于2019-11-18 17:49 被阅读0次

关于树的一些基础理论请参照https://blog.51cto.com/4259297/1708154
由于AVL树涉及到树的旋转概念,所以单独成文。
https://blog.csdn.net/weixin_30363263/article/details/85702725

概念

AVL树是平衡二叉树和二叉搜索树的合体,也叫做”平衡二叉搜索树“。
特征:

AVL树是一棵二叉搜索树。
AVL树的左右子节点也是AVL树。
AVL树拥有二叉搜索树的所有基本特点。

每个节点的左右子节点(同一层的兄弟结点)的高度之差的绝对值最多为1,即平衡因子为范围为[-1,1]。

两个重要的操作

插入

所谓的插入,是指在平衡二叉树的基础上插入新的节点。分为4种:

  • LL插入
  • RR插入
  • LR插入
  • RL插入

旋转

https://blog.csdn.net/qq_24336773/article/details/81712866

由于在平衡二叉树的基础上插入新的节点会导致树的不平衡,所以必须对不平衡的节点(插入的新节点父结点的父结点)进行旋转,针对上面的插入类型,对应的旋转类型为:

  • LL插入-左单旋
  • RR插入-右单旋
  • LR插入-左右单旋
  • RL插入-右左单旋
    这样,将被破坏平衡的二叉搜索树,在保持其二叉搜索树的特性的前提下重新使其平衡。

相关文章

网友评论

      本文标题:AVL树

      本文链接:https://www.haomeiwen.com/subject/adebictx.html