2-3-4树和红黑树
2022-11-24 15:38 杭伟 阅读(74) 评论(0) 编辑 收藏 举报2-3-4树,一种4阶的B树。红黑树的本质是2-3-4树。
其中:
2节点对应红黑树中的黑色节点(所有的2节点直接染黑),
3节点对应红黑树中的上黑下红(这里颜色一定是上黑下红),
4节点对应红黑树中的中间黑两边红。
裂变状态对应红黑树中:上红下黑新增红(新增一定是红),如果上是根节点再转为黑色。
红黑树定义:
根据2-3-4树倒推红黑树的5大性质:
1,所有节点只有两种颜色;
2,2节点为根=黑,3节点为根=上黑下红,4节点为空=中间黑两边红;所以根节点一定是黑色;
3,null为黑;
4,倒推,红黑树还原一次2-3-4,实际是因为3节点的下面一定是2节点(下图6-7-8),而2节点=黑,
5,因为2-3-4树中每个路径(每个节点)都有一个黑色。
旋转和变色:
由于新增元素会破坏原有红黑树的平衡,为保持红黑树的相对平衡,会进行旋转和变色操作,
旋转同平衡二叉搜索树,同时红黑树每次插入节点的颜色为红色。
*以下4种情况红黑树需要修复:
*红黑树的应用:
红黑树在软件工程和操作系统领域有大量的应用,
红黑树真正实现了插入,删除,查找的时间复杂度为O(LogN)。相比平衡二叉搜索树,主要通过减少了“高平衡要求”的旋转操作。
作者:hangwei
出处:http://www.cnblogs.com/hangwei/
关于作者:专注于开源平台,分布式系统的架构设计与开发、数据库性能调优等工作。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
如果您觉得文章对您有帮助,可以点击文章右下角“推荐”一下。您的鼓励是作者坚持原创和持续写作的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义