트리(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