자료구조
Graph그래프
그래프(Graph)는 정점(Vertex) 과 간선(Edge) 으로 구성된 비선형 자료구조다. 소셜 네트워크, 지도, 네트워크 경로, 의존성 관계 등 실세계의 복잡한 관계를 모델링하는 데 사용된다.
그래프의 종류
| 종류 | 설명 | 예시 |
|---|---|---|
| 무방향 그래프 | 간선에 방향 없음 | 친구 관계, 도로망 |
| 방향 그래프(DAG) | 간선에 방향 있음 | 웹 링크, 작업 순서 |
| 가중치 그래프 | 간선에 가중치 | 도로 거리, 통신 비용 |
| 완전 그래프 | 모든 정점이 연결 | 전체 연결망 |
그래프 표현
그래프 탐색
주요 알고리즘
| 알고리즘 | 용도 | 복잡도 |
|---|---|---|
| 다익스트라 | 단일 출발 최단 경로 | O((V+E) log V) |
| 벨만-포드 | 음수 가중치 최단 경로 | O(VE) |
| 플로이드-워셜 | 전체 쌍 최단 경로 | O(V³) |
| 크루스칼 | 최소 신장 트리 | O(E log E) |
| 위상 정렬 | 의존성 순서 | O(V+E) |
관련 개념
참고문헌
- •Cormen et al. Introduction to Algorithms — Chapter 22
- •Sedgewick & Wayne. Algorithms, 4th Ed.