AVL树与红黑树

AVL树

AVL树本质上是一颗二叉查找树。

AVL树的特点:

AVL树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,

AVL树某个节点的左右两个子树都是一棵平衡二叉树;

在AVL树中任何节点的两个子树的高度最大差别为一。

AVL树也被称为平衡二叉树。

红黑树

红黑树(Red Black Tree) 是一种自平衡二叉查找树。

红黑树的性质:

1. 节点是红色或黑色。

2. 根节点是黑色。

3. 叶节点(NIL)是黑色的。(NIL节点无数据,是空节点)

4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)

5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

AVL树与红黑树的优缺点

1、红黑树不追求"完全平衡",它只要求部分达到平衡,但是提出了为节点增加颜色,红黑是用非严格的平衡来换取增删节点时候旋转次数的降低,而AVL是严格平衡树,因此在增加或者删除节点的时候,根据不同情况,旋转的次数比红黑树要多。

2、红黑树的删除效率更高,就插入节点导致树失衡的情况,AVL和RB-Tree都是最多两次树旋转来实现复衡rebalance,旋转的量级是O(1)删除节点导致失衡,AVL需要维护从被删除节点到根节点root这条路径上所有节点的平衡,旋转的量级为O(logN),而RB-Tree最多只需要旋转3次实现复衡,只需O(1),所以说RB-Tree删除节点的rebalance的效率更高,开销更小!

3、AVL树的搜索效率更高。

4、AVL更平衡,结构上更加直观,时间效能针对读取而言更高;维护稍慢,空间开销较大。

5、红黑树,读取略逊于AVL,维护强于AVL,空间开销与AVL类似,内容极多时略优于AVL,维护优于AVL。
 

参考链接:

https://www.cnblogs.com/woniu4/p/8086707.html

https://www.cnblogs.com/zhuwbox/p/3636783.html

https://www.jianshu.com/p/37436ed14cc6

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值