Class PushRelabelMaximumFlow

java.lang.Object
org.graph4j.flow.MaximumFlowBase
org.graph4j.flow.PushRelabelMaximumFlow
All Implemented Interfaces:
MaximumFlowAlgorithm

public class PushRelabelMaximumFlow extends MaximumFlowBase
The Push-Relabel algorithm maintains a preflow (where flow into a node can exceed flow out of it) and repeatedly pushes excess flow from overflowing vertices to neighboring vertices or relabels the height of the overflowing vertices to find new paths. The algorithm has a time complexity of O(n2m), where n is the number of vertices and m the number of edges in the graph.
Author:
Cristian Frăsinaru
  • Constructor Details

    • PushRelabelMaximumFlow

      public PushRelabelMaximumFlow(Network graph)
    • PushRelabelMaximumFlow

      public PushRelabelMaximumFlow(Network graph, FlowData flow)
  • Method Details