기타/What I Learned

[TIL] 자료구조 - 재귀 add 메소드

가죽방패 2022. 7. 21. 09:32

※ 재귀 add 메소드

- 재귀로 호출하는 add 메소드는 다음 코드 예시와 같다

public void add(Node<E> parent, Node<E> new Node){
	// newNode의 data가 parent의 data보다 크면 트리의 오른쪽에 추가하면 된다
	if (((Comparable<E>)newNode.data.compareTo(parent.data)>0{
		if (parent.right == null){
			parent.right = newNode;
			newNode.parent = parent;
			currentSize++;
		}
		else
			add(parent.right, newNode);
	// newNode의 data가 parent의 data보다 작거나 같으면 트리의 왼쪽에 추가하면 된다
	else{
		if (parent.left == null){
			parent.left = newNode;
			newNode.parent = parent;
			currentSize++;
		}
		else
			add(parent.left, newNode);
	// AVL트리가 규칙에 맞게 잘 되어있는지 확인한다
	checkBalance(newNode);
}


// 참고 강의: 부스트코스 - 자바로 구현하고 배우는 자료구조