콘텐츠로 이동

Ch.12 트리, 그래프, 그리고 실무에서 만나는 구조들

Ch.11에서 B-Tree와 인덱스를 봤다. B-Tree는 "DB를 위한 트리"였다. 이번에는 트리와 그래프 자체를 다룬다. 계층 데이터(카테고리, 조직도), 의존성 관계(빌드 순서, 작업 스케줄링) 같은 실무 문제가 전부 트리와 그래프다.

재귀로 트리를 순회하면 깔끔하지만, 운영에서는 Stack Overflow를 낼 수 있다. Ch.4에서 봤던 그 이야기가 여기서 다시 등장한다.


이 챕터에서 다루는 것

  • 트리 구조의 실무 활용 (카테고리, 파일 시스템, DOM)
  • BFS와 DFS의 차이와 선택 기준
  • DAG(Directed Acyclic Graph)과 위상 정렬
  • 재귀 vs 반복문: 성능과 안전성

환경

Ch.10~11과 동일하다. DB 없이 순수 Python으로 진행한다.

목차

  1. 사례 - 카테고리 트리를 매번 재귀로 조회한다
  2. BFS, DFS, 그리고 DAG
  3. 유사 사례와 키워드 정리