请稍等 ...
×

采纳答案成功!

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

有点没太听懂当前的节点这个部分。

整个过程直接看能看懂,关键是当前的node这个表述不太懂。

按视频中的逻辑链条,当前的node一开始是红节点,左旋转后就变成了那个黑节点,

可是左旋转函数返回的结果并不是黑色节点呀。

那为什么可以这么编程呢?

正在回答

1回答

liuyubobobo 2020-05-14 04:02:08

抱歉,我们觉得我没有理解你的问题。


具体你是问程序中的哪句话“为什么可以这么编程”?你认为正确的编程方式怎样?


P.S. 左旋转后当前的 node 依旧是红色:

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

0 回复 有任何疑惑可以回复我~
  • 提问者 teethdiao #1
    抱歉没有阐述清楚。我的意思是就是第一个左旋转针对的node应该是一开始那个三节点的红色节点吧,且leftRotate函数的返回值就是一条直线上的图的中间红色节点。而接下来进行右旋转操作的参数是黑节点吧。那我理解需要把node从红色节点变成黑色节点的一步操作呀。可是编程里面没有这步操作。(希望我阐述清楚了)
    回复 有任何疑惑可以回复我~ 2020-05-14 11:11:30
  • liuyubobobo 回复 提问者 teethdiao #2
    我觉得我理解了。你说得对!是黑色节点。这一步其实是在当前的函数结束以后,转到上一层递归中,再上一层处理。上一层就是黑色节点了。可以参考这里我的回答:https://coding.imooc.com/learn/questiondetail/181742.html 加油!:)
    回复 有任何疑惑可以回复我~ 2020-05-14 15:21:45
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号