※ 재귀 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);
}
// 참고 강의: 부스트코스 - 자바로 구현하고 배우는 자료구조
'기타 > What I Learned' 카테고리의 다른 글
[TIL] 자료구조 - Rebalance 메소드 (0) | 2022.07.26 |
---|---|
[TIL] 자료구조 - 균형 확인 메소드 (0) | 2022.07.22 |
[TIL] 자료구조 - add 메소드 (0) | 2022.07.20 |
[TIL] 자료구조 - 노드 (0) | 2022.07.19 |
[TIL] 자료구조 - AVL 트리 (0) | 2022.07.18 |