关于AVL树的总结

关于AVL树的总结

定义

AVL树
一棵空的二叉树是AVL树
一棵非空的二叉树是AVL树,必须满足:
(1)左右子树也是AVL树
(2)左右子树高度之差的绝对值小于等于1

AVL搜索树
既是AVL树也是二叉搜索树

索引AVL搜索树
既是AVL树也是索引二叉搜索树

性质

任意n个元素都能构成一棵高度为O(logn)的AVL树
AVL搜索树的搜索、插入、删除的时间复杂性都为O(logn)
平衡因子:左子树的高度 - 右子树的高度(每个节点的平衡因子值为-1、0、1)

AVL搜索树插入后不平衡

节点A:插入后离新插入的节点最近的祖先并且平衡因子为-2或2
节点A的不平衡情况有两类四种:

  • L型不平衡:插入操作发生在A的左子树中
    • LL型:节点插在A的左子树的左子树中
    • LR型:节点插在A的左子树的右子树中
  • R型不平衡:插入操作发生在A的右子树中
    • RR型:节点插在A的右子树的右子树中
    • RL型:节点插在A的右子树的左子树中

AVL搜索树删除后不平衡

节点A:从被删除节点的父节点到根节点的路径中,第一个平衡因子为2或-2的节点
节点A的不平衡情况有两类六种:

  • L型不平衡:删除操作发生在A的左子树中
    • L0型:A的右孩子节点的平衡因子为0
    • L1型:A的右孩子节点的平衡因子为1
    • L-1型:A的右孩子节点的平衡因子为-1
  • R型不平衡:删除操作发生在A的右子树中
    • R0型:A的左孩子节点的平衡因子为0
    • R1型:A的左孩子节点的平衡因子为1
    • R-1型:A的左孩子节点的平衡因子为-1

在这里插入图片描述

发布了36 篇原创文章 · 获赞 20 · 访问量 2805

猜你喜欢

转载自blog.csdn.net/weixin_43360801/article/details/103753282