- Type Parameters:
V- the graph vertex typeE- the graph edge type
- All Known Subinterfaces:
MaximumFlowAlgorithm<V,,E> MinimumCostFlowAlgorithm<V,E>
- All Known Implementing Classes:
BoykovKolmogorovMFImpl,CapacityScalingMinimumCostFlow,DinicMFImpl,EdmondsKarpMFImpl,GusfieldEquivalentFlowTree,GusfieldGomoryHuCutTree,MaximumFlowAlgorithmBase,PushRelabelMFImpl
public interface FlowAlgorithm<V,E>
Interface for flow algorithms
- Author:
- Joris Kinable
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceRepresents a flow.static classDefault implementation ofFlowAlgorithm.Flow -
Method Summary
Modifier and TypeMethodDescriptiondefault FlowAlgorithm.Flow<E>getFlow()Result object of a flow algorithmgetFlowDirection(E edge) For the specifiededge$(u, v)$ returns vertex $v$ if the flow goes from $u$ to $v$, or returns vertex $u$ otherwise.Returns a read-only mapping from edges to the corresponding flow values.
-
Method Details
-
getFlow
Result object of a flow algorithm- Returns:
- flow
-
getFlowMap
Returns a read-only mapping from edges to the corresponding flow values.- Returns:
- a read-only mapping from edges to the corresponding flow values.
-
getFlowDirection
For the specifiededge$(u, v)$ returns vertex $v$ if the flow goes from $u$ to $v$, or returns vertex $u$ otherwise. For directed flow networks the result is always the head of the specified arc.Note: not all flow algorithms may support undirected graphs.
- Parameters:
edge- an edge from the specified flow network- Returns:
- the direction of the flow on the
edge
-