首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >红黑树插入

红黑树插入
EN

Stack Overflow用户
提问于 2013-11-06 04:50:19
回答 2查看 511关注 0票数 0

我在红黑树中插入了节点36,结果是以下红色黑树:

我的问题是在这种特殊情况下如何处理双红?是2号案件还是3号案件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-06 09:38:41

基于维基百科的性质和案例.

36 将插入到第5种情况下,旋转的左转。

父母P是红色的,但叔叔是黑色的,或者不在那里。

维基百科只是说“叔叔是黑人”,但是,看看代码,你会发现这种情况会触发。

请注意,没有36的树已经无效,因为属性5(从任何给定节点到其叶节点的所有路径都包含相同数目的黑色节点)不被保存:

  • 20到15包含一个黑色节点
  • 20到30包含2个黑色节点

假设插入顺序是20, 15, 22, 30, 36..。

所有节点都以红色的形式插入。

将在案例2下插入22

父母是黑人。

30将插入案例3下,使2215变为黑色,20为红色。

父母和叔叔都是红色的,都是黑色的,而祖父母则是红色的。

36将插入在第5种情况下,旋转22向左。

父母P是红色的,但叔叔是黑色的,或者不在那里。

票数 1
EN

Stack Overflow用户

发布于 2019-07-02 02:18:45

22没有留下的孩子

因此.。

案例1:结构调整

我们将离开轮值

30 ->根“黑”

22->左撇子“红色”

36->正确的孩子“红色”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19804358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档