其他分享
首页 > 其他分享> > AVL树

AVL树

作者:互联网

参考: https://www.cnblogs.com/skywang12345/p/3577479.html

高度平衡的二叉树,树中任何节点的两个子树的高度最大差值为1.

public class AVLTree<T extends Comparable<T>> {
    private AVLTreeNode<T> mRoot;    // 根结点

    // AVL树的节点(内部类)
    class AVLTreeNode<T extends Comparable<T>> {
        T key;                // 关键字(键值)
        int height;         // 高度
        AVLTreeNode<T> left;    // 左孩子
        AVLTreeNode<T> right;    // 右孩子

        public AVLTreeNode(T key, AVLTreeNode<T> left, AVLTreeNode<T> right) {
            this.key = key;
            this.left = left;
            this.right = right;
            this.height = 0;
        }
    }
    
    ......
}

旋转:

失去平衡的情况: LL   LR   RL   RR

LL的旋转:

RR的旋转:

LR的旋转:

RL的旋转:

 

 

 

 

标签:right,AVLTreeNode,旋转,AVL,key,height,left
来源: https://blog.csdn.net/m0_37132783/article/details/90597390