트리(tree) 구조의 기본 개념과 용어 설명

트리(tree)

  • 노드(node)들의 집합

  • 각 노드는 값(value)와 다른 노드들을 가리키는 레퍼런스들로 구성

  • 트리에서 간선이 구현 관점에서는 레퍼런스를 의미한다.

public class TreeNode<T> {
    private T data;
    private List<TreeNode<T>> children = new ArrayList<>();
    
    public TreeNode(T data) {
        this.data = data;
    }
    
    public void addChild(TreeNode<T> child) {
        children.add(child);
    }
    
    public T getData() {
        return data;
    }
    
    public List<TreeNode<T>> getChildren() {
        return children;
    }
}

✅ 2. 자바 기본 제공 트리 컬렉션

Java 표준 라이브러리에서 트리 기반 자료구조를 제공하는 클래스는 다음과 같습니다:

클래스
구조
정렬 방식

TreeSet

Red-Black Tree

자동 정렬된 Set

TreeMap

Red-Black Tree

자동 정렬된 Map (Key 기준)

예시

TreeSet<Integer> treeSet = new TreeSet<>();
treeSet.add(3);
treeSet.add(1);
treeSet.add(2);
System.out.println(treeSet); // [1, 2, 3]

루트(root) 노드

  • 트리의 최상단에 있는 노드

  • 트리의 시작점

자녀(child) 노드

  • 모든 노드는 0개 이상의 자녀 노드를 가진다.

높이의 경우 edge 순 기준인지 , node 기준인지 그때마다 판단

트리의 높이(height)

  • 루트 노드의 높이

  • 트리 높이 : 3

트리의 특징

Last updated