深入理解AVL树

AVL树的插入和删除操作是它很普遍的操作,我从一些文章上看到都说它的删除操作机及其复杂,但是这个世界上难道还有比毁灭更简单的事情吗?avl删除的善后处理真的比插入一个节点还要复杂吗?经过我的百般蹂躏,avl树终于向我展示了冰山的下面到底隐藏着什么。
  avl树要求的平衡条件是左右子树的高度差不能大于1,于是为了跟踪平衡性,引入了一个平衡因子的概念,平衡因子就是左右子树的高度差,但是如果一个节点 X有一个左孩子而没有右孩子,而且其做孩子没有任何子树,那么这个左孩子作为X一个子树根节点,高度为0,而X没有右孩子,因此根本谈不上右子树的高度, 这种情况咋办呢?实际上这种情况下X的平衡因子为1,于是乎,平衡因子并不是严格意义上的高度差,而应该遵循以下定义:一个节点X的平衡因子就是一个路径 差。(工作忙,待续)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值