※ 균형 확인 메소드
- AVL 트리에서 좌측과 우측의 높이 차가 항상 1보다 작거나 같아야 한다. 따라서, 노드를 추가했을 때 높이 차이가 1보다 커지면 회전을 해 트리의 균형을 맞춰주어야 한다.
트리의 높이 차이를 확인하고 균형을 맞추는 checkBalance 코드는 다음과 같다.
public void checkBalance(Node<E> node){
if((height(node.left) - height(node.right)>1) || (height(node.left) - height(node.right)<-1)){
rebalance(node);
if(node.parent == null)
return;
checkBalance(node.parent);
}
'기타 > What I Learned' 카테고리의 다른 글
[TIL] 자료구조 - Red Black Tree 규칙 (0) | 2022.07.27 |
---|---|
[TIL] 자료구조 - Rebalance 메소드 (0) | 2022.07.26 |
[TIL] 자료구조 - 재귀 add 메소드 (0) | 2022.07.21 |
[TIL] 자료구조 - add 메소드 (0) | 2022.07.20 |
[TIL] 자료구조 - 노드 (0) | 2022.07.19 |