数据结构简介:树-------AVL树

数据结构简介

数据结构简介

AVL树

1. 定义

带有平衡条件的二叉搜索树
在这里插入图片描述

2. 时间复杂度

O(logN)

3. 平衡方式

必须平衡的节点称为a,a的两颗子树的高度差为2

1) 单旋转
  1. 对a的左儿子的左子树进行一次插入
    在这里插入图片描述

  2. 对a的右儿子的右子树进行一次插入
    在这里插入图片描述

2) 双旋转
  1. 对a的左儿子的右子树进行一次插入
    在这里插入图片描述
  2. 对a的右儿子的左子树进行一次插入
    在这里插入图片描述

4. 单旋转、双旋转举例

将1~16插入空AVL树

  • 插入1~3:单旋转
    在这里插入图片描述
  • 插入4~5:单旋转
    在这里插入图片描述
  • 插入6:单旋转
    在这里插入图片描述
  • 插入7:单旋转
    在这里插入图片描述
  • 插入10~16:双旋转
    1)插入15:右-左双旋转
    在这里插入图片描述
    2)插入14:右-左双旋转
    在这里插入图片描述
    3)插入13、12、11、10:单旋转
    在这里插入图片描述
    在这里插入图片描述
  • 插入8不用变化
    在这里插入图片描述
  • 最后插入9:左-右双旋转
    在这里插入图片描述

5. 示例代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值