Programming/알고리즘

트리 알고리즘 마스터 로드맵: LCA부터 HLD, ETT, LCT까지 완전 정복하는 순서 가이드

octo54 2025. 6. 10. 13:45
반응형

트리 알고리즘 마스터 로드맵: LCA부터 HLD, ETT, LCT까지 완전 정복하는 순서 가이드

알고리즘 공부에서 트리는 단골 주제입니다.
하지만 단순한 DFS/BFS 수준을 넘어서 경로 질의, 노드 업데이트, 동적 연결까지 다루려면
체계적인 학습 로드맵이 필요합니다.

이번 글에서는 기초부터 고급까지 트리 알고리즘을 마스터하는 로드맵을 제시합니다.
각 단계별로 학습 포인트, 추천 자료, 대표 문제도 함께 정리합니다.


🧱 1단계: 트리 기초 (DFS, 부모 저장, 깊이, 서브트리 크기)

주요 개념

  • 트리는 사이클 없는 연결 그래프
  • 루트 노드 기준 DFS 탐색
  • 각 노드의 깊이(depth), 부모(parent), 자식 관계 등

실습 목표

  • 서브트리 크기 계산
  • 루트로부터 거리 계산
  • 트리의 리프 노드, 중심 노드 찾기

추천 문제


⚙️ 2단계: LCA (Lowest Common Ancestor)

주요 알고리즘

  • Binary Lifting
  • Sparse Table
  • DFS 시간표기법 + RMQ

학습 포인트

  • LCA(u, v)는 경로 쿼리의 출발점
  • Binary Lifting은 HLD/LCT에 필수 구성 요소

추천 문제

  • BOJ 11437
  • [Codeforces 1336B] – 쿼리마다 LCA + 거리 계산

🧭 3단계: Euler Tour Tree (ETT)

반응형

사용처

  • 서브트리 쿼리
  • 색칠 정보 관리
  • 이진 세그먼트 트리와 결합하기 쉬움

학습 내용

  • in[u], out[u] 인덱스 구성
  • 세그먼트 트리 또는 BIT 연결
  • Lazy Propagation 병행

추천 문제

  • [AtCoder ABC 222E] – 서브트리 내 통계
  • [BOJ 14267] – 회사 문화 1

🔀 4단계: Heavy-Light Decomposition (HLD)

사용처

  • u–v 경로 합, 최댓값, 업데이트 등 고속 처리
  • 정적 트리 기반 쿼리 최적화

학습 내용

  • 체인 분할 (heavy / light)
  • 경로 쿼리를 체인으로 분리 후 세그먼트 트리 적용
  • Lazy Segment Tree 병행

추천 문제

  • [BOJ 13510] – 트리와 쿼리 1
  • [Library Contest Tree Query] – path update & query

🔁 5단계: Link/Cut Tree (LCT)

사용처

  • 동적 트리: 간선 삽입/삭제, 경로 유지
  • 동적 MST 유지
  • Fully Dynamic Connectivity

학습 내용

  • Splay Tree 기반 node rotation
  • make_root, access, link, cut
  • 경로 최댓값, 경로 합 augmentation

추천 문제

  • [Codeforces 613E] – 동적 간선 삽입/삭제 + MST 유지
  • [Yandex Cup] – 실시간 경로 최댓값 교체

🧠 비교 요약

알고리즘 정적/동적 경로 쿼리 서브트리 쿼리 난이도

DFS 기초 정적 쉬움
LCA 정적 경로 구간 보통
ETT 정적 쉬움
HLD 정적 ⚠️ 보완 필요 중간
LCT 동적 ⚠️ 어렵다 어려움

🎯 트리 마스터 플랜 요약

  1. DFS, 서브트리, 부모 저장 등 기초 완성
  2. Binary Lifting으로 LCA 완벽 이해
  3. ETT로 서브트리 색칠/통계 훈련
  4. HLD로 경로 합/최댓값 쿼리 마스터
  5. LCT로 동적 트리까지 커버

📘 추천 자료

  • CP-Algorithms – 트리 알고리즘 시리즈
  • USACO Guide – Gold 트리 쿼리
  • AtCoder Library – ETT, HLD 구현
  • TLE 알고리즘 유튜브 – LCT 구조 시각화

 

트리알고리즘, LCA, ETT, HLD, LCT, 알고리즘로드맵, 트리쿼리마스터, 경로질의, 서브트리, SEO 최적화 10개