기타/What I Learned

[TIL] 자료구조 - 트리: 재귀 함수

가죽방패 2022. 7. 6. 15:24

※ 트리: 재귀 함수

- 트리에 새로운 데이터를 추가 하는 과정은 우선 루트에서 시작하고 트리의 규칙을 따라 내려간 뒤 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++;
}