Class MaximalIndependentSetsEnumeratorAbstract

java.lang.Object
com.jgalgo.alg.clique.MaximalIndependentSetsEnumeratorAbstract
All Implemented Interfaces:
MaximalIndependentSetsEnumerator
Direct Known Subclasses:
MaximalIndependentSetsEnumeratorComplementCliques

public abstract class MaximalIndependentSetsEnumeratorAbstract extends Object implements MaximalIndependentSetsEnumerator
Abstract class for enumerating over all maximal independent sets 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

    • MaximalIndependentSetsEnumeratorAbstract

      public MaximalIndependentSetsEnumeratorAbstract()
      Default constructor.
  • Method Details

    • maximalIndependentSetsIter

      public <V, E> Iterator<Set<V>> maximalIndependentSetsIter(Graph<V,E> g)
      Description copied from interface: MaximalIndependentSetsEnumerator
      Iterate over all maximal independent sets in a graph.

      The input graph should not be changed during the iteration.

      If g is IntGraph, the returned iterator will be iterate over IntSet.

      Specified by:
      maximalIndependentSetsIter in interface MaximalIndependentSetsEnumerator
      Type Parameters:
      V - the vertices type
      E - the edges type
      Parameters:
      g - a graph
      Returns:
      an iterator that iterates over all maximal independent sets in the graph