Class MinimumVertexCutAllGlobalAbstract

java.lang.Object
com.jgalgo.alg.connect.MinimumVertexCutAllGlobalAbstract
All Implemented Interfaces:
MinimumVertexCutAllGlobal
Direct Known Subclasses:
MinimumVertexCutAllGlobalKanevsky

public abstract class MinimumVertexCutAllGlobalAbstract extends Object implements MinimumVertexCutAllGlobal
Abstract class for computing all global minimum vertex cuts in a graph.

The class implements the interface by solving the problem on the index graph and then maps the results back to the original graph. The implementation for index graphs is abstract and left to the subclasses.

Author:
Barak Ugav
  • Constructor Details

    • MinimumVertexCutAllGlobalAbstract

      public MinimumVertexCutAllGlobalAbstract()
      Default constructor.
  • Method Details

    • minimumCutsIter

      public <V, E> Iterator<Set<V>> minimumCutsIter(Graph<V,E> g, WeightFunction<V> w)
      Description copied from interface: MinimumVertexCutAllGlobal
      Iterate over all the minimum vertex-cuts in a graph.

      Given a graph \(G=(V,E)\), a vertex-cut is a set of vertices whose removal disconnect graph into more than one connected components.

      If g is an IntGraph, the returned iterator will iterate over IntSet objects. In that case, its better to pass a IWeightFunction as w to avoid boxing/unboxing.

      Specified by:
      minimumCutsIter in interface MinimumVertexCutAllGlobal
      Type Parameters:
      V - the vertices type
      E - the edges type
      Parameters:
      g - the graph
      w - a vertex weight function
      Returns:
      an iterator over all the minimum vertex-cuts in a graph