LR ,进行 左旋转后,Z 节点退化成不平衡的avl树?
来源:12-6 LR 和 RL
慕桂英6551356
2019-02-21
刘老师你好,在LR的情况下,对X 进行左旋转后, Z的高度差为2(X(h+1),T3(h-1)),Z节点退化成不平衡的avl树,代码中好像没有对这个逻辑进行判断和处理
写回答
1回答
-
对LR的处理不是一个左旋转以后就结束了哦,y处在LR的位置,之后还要对y进行右旋转哦:)
这次左旋转只是把形态转成了LL的形式,之后还要按照LL的形式继续处理啊!:)
if (balanceFactor > 1 && getBalanceFactor(node.left) < 0) { node.left = leftRotate(node.left); // 对node.left左旋转 return rightRotate(node); // 之后还要对node右旋转 }
继续加油!:)
012019-02-21
相似问题