Learning
토픽 46 / 82

Ford-Fulkerson / Edmonds-Karp / Dinic 비교

Ford-Fulkerson / Edmonds-Karp / Dinic 비교

최대 유량 문제를 해결하는 대표적 세 알고리즘으로, 증가 경로 탐색 방법과 시간 복잡도에서 차이

Ford-Fulkerson 방법

  • DFS로 증가 경로 탐색, 잔여 용량만큼 유량 증가 반복
  • 시간 복잡도: O(E × max_flow), 정수 용량 시 종료 보장
  • 단점: 실수 용량 시 무한 루프 가능, 비효율적 경로 선택 가능

Edmonds-Karp 알고리즘

  • Ford-Fulkerson + BFS(최단 증가 경로, 간선 수 기준)
  • 시간 복잡도: O(VE²), 용량 무관 다항 시간 보장
  • 장점: 구현 단순, 안정적 성능, Ford-Fulkerson 개선

Dinic 알고리즘

  • BFS로 레벨 그래프(Level Graph) 구축 → DFS로 차단 유량(Blocking Flow) 탐색
  • 시간 복잡도: O(V²E), 단위 용량 네트워크 O(E√V)
  • 장점: 대규모 네트워크에 효율적, 이분 매칭에 최적

비교 표

연관: 최대 유량, 잔여 그래프, 증가 경로, 레벨 그래프, 최소 컷