The scenario
Design a reusable class model for the Ford-Fulkerson maximum flow algorithm, including residual graph management and pluggable augmenting path strategies.
What is in this drawing
Read the decisions behind it.
01
Separate PathFinder strategy from FordFulkerson to allow BFS (Edmonds-Karp) or other searches
02
Model ResidualGraph as a wrapper over FlowNetwork for residual capacities and flow updates
03
Use interfaces MaxFlowSolver and PathFinder to support multiple solver implementations
Use when implementing or explaining Ford-Fulkerson variants in object-oriented systems, especially for algorithm libraries or graph algorithm visualizations.
More like this