红黑树的插入染色、旋转作图分析,助你更好了解红黑树的染色旋转机制

阅读前提

假设你已经了解了何为树,何为二叉树,并且了解二叉排序树,懂得平衡二叉AVL树的定义,了解红黑树的定义和规则

废话不多说,看图说话

在这里插入图片描述

总结详情见图。

作图工具是这个processon:https://www.processon.com/i/5ad561f2e4b0f5fa24dcdc53

本文是学习他人的博客,完整学习,建议看原博客地址

抛出一个问题?有了平衡二叉树为何还需要红黑树?

这里就需要总结平衡二叉树和红黑树的比较了

平衡二叉树和红黑树的比较

  • 平衡二叉树是高度平衡的二叉树,所有的结点的平衡因子的绝对值不大于1,因此需要频繁旋转
  • 平衡二叉树和红黑树的插入均最多只需要旋转两次,即为O(1)
  • 平衡二叉树由于高度平衡,且删除结点时具有失衡传播特性,因此在删除结点的失衡,需要将当前失去平衡的结点进行平衡,然后将结点向上传递,因此需要不断地向上平衡,最多平衡次数为当前删除结点深度H-2,旋转量级为O(logN);红黑树删除结点,则最多需要3次旋转即可平衡,时间复杂度为O(1)。

关于平衡二叉树的删除和红黑树的删除,均有迹可循,这里没有做详细作图分析,而是在个人手写相应的Java例子的时候进行分析,这里没有作展示。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值