循环中如何找到待删除的元素,是根据根节点的值去比较要删除的值是否相等吗?
登陆购买课程后可参与讨论,去登陆吧
对的呀。我们的递归算法也是根据节点的值去比较,和要删除的值相等呀:)
继续加油!:)
public
void
remove(E e){<br>
if
(root.size==
0
)
return
;<br> Node curNode=root;<br> Node n=
null
;<br>
while
(curNode.data.compareTo(e)!=
){<br> n=curNode;<br>
(curNode.data.compareTo(e)<
) {<br> curNode=curNode.right;<br> }
else
(curNode.data.compareTo(e)>
){<br> curNode=curNode.left;<br> }<br> }<br>
(
==curNode.right) {<br> Node leftNode=curNode.left;<br> curNode.size--;<br> n.left=leftNode;<br> }
==curNode.left){<br> Node rightNode=curNode.right;<br> curNode.size--;<br> n.right=rightNode;<br> }
{<br> Node successor=minimun(curNode);<br> successor.right=removeMin(curNode.right);<br> successor.left=curNode.left;<br> curNode.left=curNode.right=
;<br> curNode=successor;<br> root=curNode;<br> }<br>
老师,是这样吗?
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
慕课网算法名师Liuyubobobo,5年集大成之作 从0到工作5年,算法与数据结构系统解决方案
110 3
77 3
393 2
237 3
38 18
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧