Overview
Dinic's algorithm alternates between BFS level graph construction and DFS-style blocking-flow searches, reducing repeated work compared with one-path augmentation.
Computes maximum flow using level graphs and blocking flows.
Compact metadata for implementation and discovery.
Dinic's algorithm alternates between BFS level graph construction and DFS-style blocking-flow searches, reducing repeated work compared with one-path augmentation.
Quick facts
Runtime and memory behavior at a glance.
Best
O(E V^2)
Average
O(E V^2)
Worst
O(E V^2)
Space
O(V + E)
residual(u, v) = capacity(u, v) - flow(u, v)Shows how much additional flow can still be sent along an edge.
level[v] = level[u] + 1Restricts blocking-flow searches to edges that advance through the level graph.
Highlight active nodes, discovered edges, and the graph structure produced by each step.
Dinic's Algorithm operates in O(E V^2) time and O(V + E) space within the Network Flow family. Key governing relation: residual(u, v) = capacity(u, v) - flow(u, v). Often compared with Ford-Fulkerson and Edmonds-Karp.
What each reference supports for this entry.
Textbook reference for the algorithmic family and analysis of Dinic's Algorithm.
Good next jumps from the relationship graph, ranked for useful discovery.
Graph Traversal · Core
Dinic's algorithm uses blocking flows in level graphs; push-relabel uses local preflow operations.
Compare with thisGraph Traversal · Foundation
Dinic's Algorithm uses BFS to build the level graph.
Compare with thisDinic's Algorithm uses BFS to build the level graph.
Dinic's Algorithm improves flow search with level graphs and blocking flows.