트리(Tree)란?
트리는 관계를 계층적으로 표현하는 비선형(데이터가 여러 방향으로 연결된 계층 구조) 자료구조이다.

트리는 몇가지 특징을 가진다.
- 사이클이 없음
- 루트 노드가 존재
- 계층 구조를 가짐(즉, 부모 - 자식 관계가 존재)
- N개의 노드와 N-1개의 간선으로 이루어져 있음
즉, 위 특징을 모두 만족하는 그래프는 트리라고 할 수 있다.
더보기
트리(Tree)와 그래프(Graph) 차이
| 트리(Tree) | 그래프(Graph) | |
| 구조 | 계층 구조를 가지는 그래프의 특수한 형태 | 정점(Vertex)과 간선(Edge)으로 이루어진 일반적인 자료구조 |
| 루트 | 부모 → 자식 관계 | 관계만 존재 |
| 루트 | 항상 존재 | 없음 |
| 사이클 | 없음 | 있을 수도 있음 |
| 간선 수 | N개의 노드 → N-1개의 간선 | 제한 없음 |
| 연결성 | 항상 하나로 연결 | 여러 컴포넌트 가능 |
트리의 장단점
장점
- 데이터의 계층적 표현
- 빠른 탐색 -> 이진 탐색 트리(BST)의 경우 평균 탐색 시간: O(log n)
- 효율적인 삽입/삭제
단점
- 복잡한 구조
- 포인터 관리 등으로 인한 메모리 사용량 증가
- 균형이 깨질 경우 성능 저하
정리
트리는 데이터를 계층적으로 관리 및 빠른 탐색과 삽입/삭제를 위해 만들어진 자료구조이다.
실제로 파일 시스템, HTML DOM 구조 등 계층 구조가 필요한 곳에 많이 사용되고,
Heap, Trie, B-Tree 등 많은 알고리즘의 기반이 된다.
'CS > 자료구조' 카테고리의 다른 글
| [자료구조] Hash Table(with. Swift) (0) | 2026.02.24 |
|---|