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