请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,为什么逻辑链条里没有向红黑树的2节点中添加元素的情况?add函数代码里也没体现

正在回答

1回答

liuyubobobo 2019-06-28 01:27:15

如果本来是二节点,添加一个新节点,成为一个三节点,下面的三个if都不会进入,不需要维护。add直接成功结束:)


这个逻辑链条都是在遇到对应到2-3树,等价于三节点添加的时候,我们需要维护,执行的逻辑:)

https://img1.sycdn.imooc.com//szimg/5d14fc6a0001e8b119121070.jpg


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 慕粉0027932 #1
    2节点的第二种情况不是需要做旋转的么?
    回复 有任何疑惑可以回复我~ 2019-06-28 06:11:06
  • liuyubobobo 回复 提问者 慕粉0027932 #2
    哦,赞,对,需要!红节点插在黑节点右侧,在第一个if中会处理。从一棵空的红黑树出发,先随便插入一个根节点,然后插入一个比根节点大的元素,就是这种情况,实际测试一下,单步跟踪看一看?:)加油!
    回复 有任何疑惑可以回复我~ 2019-06-28 06:19:06
  • 提问者 慕粉0027932 回复 liuyubobobo #3
    好哒谢谢老师
    回复 有任何疑惑可以回复我~ 2019-06-28 06:24:31
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信