![](https://img-blog.csdnimg.cn/5149a44824bf4ba0a786ee3d1870f853.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
红黑树
文章平均质量分 96
红黑树原理讲解和代码
呵呵哒( ̄▽ ̄)"
喜欢分享学习笔记,并不一定是正确的,阶段性的学习成果做一下记录,欢迎一起交流讨论,也希望有错误的地方可以向我提出,我会虚心接受并纠正
展开
-
根据Java的TreeMap源码的原理编写C++红黑树删除操作
情况一:自己能搞定的,对应叶子节点应该是3节点和4节点>>核心部分代码: 情况二:自己搞不定的,需要跟兄弟借,找父亲借,父亲下来,然后兄弟我一个人去代替父亲当家,(找兄弟借,兄弟有的借.分2种情况: 兄弟节点本来就是3节点,或者4节点的情况) 》》兄弟节点本来就是3节点的情况 》》兄弟节点本来就是4节点的情况>>核心部分代码:情况三:找兄弟借,兄弟没得借 >>核心部分代码: >> 红黑树删除核心代码:1、找前驱代码:2、找后继代码3、根据key、value获取节点4、根据原创 2023-04-28 18:20:11 · 1106 阅读 · 0 评论 -
从2-3-4树到红黑树原理分析以及C++实现红黑树建树
何为调整?(颜色调整+旋转调整)1、“叔叔存在且为红”的时候,只需要进行颜色调整,即把父亲结点和叔叔结点的颜色设置为BLACK,把祖父结点的颜色设置为RED(若祖父结点为根结点,则再变黑);2、(前提),出现"叔叔不存在"或者,把父结点颜色设置为BLACK,把祖父结点的颜色设置为RED3、(前提),出现或者,把新增(当前)结点颜色设置为BLACK,把祖父结点的颜色设置为RED。原创 2023-04-26 02:35:25 · 608 阅读 · 0 评论