※ Rebalance 메소드
- Rebalance 메소드는 어느 쪽에서 균형이 깨졌는지 확인 후 회전을 하여 균형을 유지한다
public void rebalance(Node<E> node){
if(height(node.left) - height(node.right)>1){
if(height(node.left.left) > height(node.left.right))
node = rightRotate(node);
else
node = leftRighttoRotate(node);
}
else{
if(height(node.left.left)>height(node.left.right))
node = rightLeftRotate(node);
else
node = leftRotate(node);
}
if(node.parent == null)
root = node;
}
// 출처: 자바로 구현하고 배우는 자료구조[부스트코스]
'기타 > What I Learned' 카테고리의 다른 글
[TIL] 자료구조 - 레드 블랙 트리 (0) | 2022.07.28 |
---|---|
[TIL] 자료구조 - Red Black Tree 규칙 (0) | 2022.07.27 |
[TIL] 자료구조 - 균형 확인 메소드 (0) | 2022.07.22 |
[TIL] 자료구조 - 재귀 add 메소드 (0) | 2022.07.21 |
[TIL] 자료구조 - add 메소드 (0) | 2022.07.20 |