25분
경로 탐색 알고리즘 비교
Day 4: 경로 탐색 알고리즘
경로 탐색 알고리즘 비교
그래프 알고리즘 > Day 4: 경로 탐색 알고리즘
학습 목표
Dijkstra 동작 원리 A*의 휴리스틱 개념 Delta-Stepping 병렬화 상황별 알고리즘 선택
경로 탐색 알고리즘 비교
Dijkstra 알고리즘
핵심 원리
에디터 로딩 중...
시각적 예시
에디터 로딩 중...
조건
⚠️ 양수 가중치만 지원
음수 가중치가 있으면 Bellman-Ford 사용 (GDS 미지원)
A* 알고리즘
Dijkstra의 한계
에디터 로딩 중...
A*의 해결책: 휴리스틱
에디터 로딩 중...
GDS에서 A*
에디터 로딩 중...
Delta-Stepping
대규모 그래프 문제
에디터 로딩 중...
Delta-Stepping 아이디어
에디터 로딩 중...
GDS에서 Delta-Stepping
에디터 로딩 중...
알고리즘 선택 가이드
에디터 로딩 중...
시간 복잡도 비교
| 알고리즘 | 시간 복잡도 | 적합한 경우 |
|---|---|---|
| Dijkstra (힙) | O((V+E) log V) | 중소규모 |
| A* | O(b^d) (휴리스틱 의존) | 한 쌍, 좌표 있을 때 |
| Delta-Stepping | O(V + E) (병렬화) | 대규모 그래프 |
| Floyd-Warshall | O(V³) | 작은 그래프 All Pairs |
Cypher vs GDS
| 기능 | Cypher | GDS |
|---|---|---|
| 가중치 | X | O |
| 대규모 | 느림 | 빠름 |
| 병렬 | X | O |
| 알고리즘 | shortestPath만 | 다양 |