※ 트리: 재귀 함수
- 트리에 새로운 데이터를 추가 하는 과정은 우선 루트에서 시작하고 트리의 규칙을 따라 내려간 뒤 null 부분을 찾은 경우 해당 구역에 새로운 노드를 추가한다.
위 과정을 코드로 작성하면 아래 예시와 같은데 재귀 함수를 이용해 트리의 규칙에 따라 내려가는 기능을 구현한 것 이다.
public void add (E obj, Node <E> node){
if (((Comparable<E>) obj).compareTo(node.data) > ){
// go to the right
if(node.right == null){//3
node.right = new Node<E>(obj);
return;
}
return add(obj, node.right); // 2
}
// go to the left
if(node.left == null){ // 3
node.left = new Node<E>(obj);
return;
}
return add(obj, node.left); // 2
}
// 트리가 비어있는 경우 (오버로딩)
public void add (E obj){
if(root == null)
root = newNode<E>(obj);
else
add(obj, root);
currentSize++;
}
'기타 > What I Learned' 카테고리의 다른 글
[TIL] 자료구조 - 트리:제거 (0) | 2022.07.08 |
---|---|
[TIL] 자료구조 - 트리:Contains (0) | 2022.07.07 |
[TIL] 자료구조 - 트리: 노드클래스 (0) | 2022.07.05 |
[TIL] 자료구조 - 트리:표현 (0) | 2022.07.04 |
[TIL] 자료구조 - 트리:순회 (0) | 2022.07.01 |