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으로 진행한다.