【数据结构】AVL树(未完)

平衡因子 δ(T)

为了度量一颗二叉树的平衡,可以比较左右分支的高度差,如果差很大,则说明树不平衡。
定义一棵树的高度差如下:

δ(T)=|R||L|

其中, |T| 代表树 T 的高度,L 和 R 分别代表左右分支。
δ(T)=0 ,说明树是平衡的。通常 δ(T) 的绝对值越小,说明树越平衡。

AVL树的定义

如果一棵二叉搜索树的所有子树都满足如下条件,称之为AVL树。

δ(T)1

AVL树中所有 子树平衡因子的绝对值都不大于1,只可能是-1、0、1这三个值。

插入

向AVL树中插入一个新key,根节点的平衡因子的变化区间为[-1,1],树的高度最多增加1。
算法描述:
定义插入算法的结果为一对值 (T,ΔH) ,其中 T 为插入后的新树, ΔH 为树高度的增加值。令函数 first(pari) 取得一对值中的第一个元素,在二叉搜索树的插入算法上进行改动,定义AVL树的插入操作:

insert(T,k)=first(ins(T,k))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值