请稍等 ...
×

采纳答案成功!

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

LR ,进行 左旋转后,Z 节点退化成不平衡的avl树?

图片描述
刘老师你好,在LR的情况下,对X 进行左旋转后, Z的高度差为2(X(h+1),T3(h-1)),Z节点退化成不平衡的avl树,代码中好像没有对这个逻辑进行判断和处理

正在回答

1回答

liuyubobobo 2019-02-21 12:12:17

对LR的处理不是一个左旋转以后就结束了哦,y处在LR的位置,之后还要对y进行右旋转哦:)


这次左旋转只是把形态转成了LL的形式,之后还要按照LL的形式继续处理啊!:)


if (balanceFactor > 1 && getBalanceFactor(node.left) < 0) {     
    node.left = leftRotate(node.left);   // 对node.left左旋转 
    return rightRotate(node);            // 之后还要对node右旋转
}


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 慕桂英6551356 #1
    非常感谢!懂了
    回复 有任何疑惑可以回复我~ 2019-02-21 14:42:38
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信