15

네비게이션이 경로를 찾는 방법

Day 4: 경로 탐색 알고리즘

학습 목표

경로 탐색의 필요성 이해 Dijkstra 알고리즘의 핵심 아이디어 문제 유형 분류

네비게이션이 경로를 찾는 방법

Hook: Google Maps의 비밀

"Google Maps는 1초 만에 서울에서 부산까지 최적 경로를 찾는다. 이것이 가능한 이유는?"

순진한 접근: 모든 경로 탐색

에디터 로딩 중...

Dijkstra의 천재적 발상 (1956)

"모든 경로를 볼 필요 없다. 현재까지 가장 가까운 곳부터 확장하면 처음 도착하는 것이 최단 경로다."

에디터 로딩 중...

경로 탐색의 활용

분야활용알고리즘
네비게이션최단/최적 경로Dijkstra, A*
네트워크패킷 라우팅OSPF (Dijkstra 기반)
게임NPC 이동A*
물류배송 최적화Dijkstra + 휴리스틱
소셜연결 고리BFS

경로 탐색 문제 유형

1. Single Source (한 출발점 → 모든 도착점)

에디터 로딩 중...

2. Single Pair (한 출발점 → 한 도착점)

에디터 로딩 중...

3. All Pairs (모든 출발점 → 모든 도착점)

에디터 로딩 중...

오늘 배울 알고리즘

알고리즘특징복잡도
Dijkstra가중치 최단 경로O((V+E) log V)
A*휴리스틱 기반더 빠름 (휴리스틱 품질에 따라)
Delta-Stepping병렬 Dijkstra대규모 그래프
All Shortest Paths모든 최단 경로다중 경로 탐색

Cypher의 기본 경로 탐색

에디터 로딩 중...

한계: 가중치 무시, 대규모 그래프에서 느림 → GDS 알고리즘 필요!