기타/What I Learned

[TIL] 자료구조 - 균형 확인 메소드

가죽방패 2022. 7. 22. 10:14

※ 균형 확인 메소드

- 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);
}