我们登上的并非我们所选择的舞台,演出并非我们所选择的剧本。-- 爱比克泰德 (古罗马哲学家) 。|

navyum

园龄:4个月粉丝:0关注:0

3.AVL平衡树

AVL平衡树

特征:

  • AVL 树既是二叉搜索树,也是平衡二叉树,同时满足这两类二叉树的所有性质
  • AVL 树是一种平衡二叉搜索树

属性:

  • 节点高度
  • 节点平衡因子:节点左子树的高度减去右子树的高度,空节点的平衡因子为0

AVL 树旋转:

  • 作用:
    • AVL 树的特点在于“旋转”操作,它能够在不影响二叉树的中序遍历序列的前提下,使失衡节点重新恢复平衡
    • 旋转操作既能保持“二叉搜索树”的性质,也能使树重新变为“平衡二叉树”
  • 旋转:
    • 左旋
    • 右旋
    • 先左旋再右旋
    • 先右旋再左旋

四种旋转情况的选择条件

失衡节点的平衡因子 子节点的平衡因子 应采用的旋转方法
 > 1 (左偏树)  ≥ 0 右旋
 > 1 (左偏树)  < 0 先左旋后右旋
 < −1 (右偏树)  ≤ 0 左旋
 < −1 (右偏树)  > 0 先右旋后左旋

AVL树的应用:

  • 组织和存储大型数据,适用于高频查找、低频增删的场景。
  • 数据库中的索引
  • 红黑树也是一种常见的平衡二叉搜索树。
    • 相较于 AVL 树,红黑树的平衡条件更宽松,插入与删除节点所需的旋转操作更少,节点增删操作的平均效率更高。

本文作者:navyum

本文链接:https://www.cnblogs.com/navyum/p/18509358

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   navyum  阅读(6)  评论(0编辑  收藏  举报
//自己上传到博客园的js
点击右上角即可分享
微信分享提示