org.jgrapht.alg.cycle

## Interface UndirectedCycleBase<V,E>

- Type Parameters:
    `V` - the vertex type.
    `E` - the edge type.
  All Known Implementing Classes:
    PatonCycleBase

      public interface UndirectedCycleBase<V,E>

  A common interface for classes implementing algorithms for finding a cycle base of an undirected graph.
  Author:
    Nikolay Ognyanov

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<List<V>>` | `findCycleBase()` Finds a cycle base of the graph. Note that the full algorithm is executed on every call since the graph may have changed between calls.
    `UndirectedGraph<V,E>` | `getGraph()` Returns the graph on which the cycle base search algorithm is executed by this object.
    `void` | `setGraph(UndirectedGraph<V,E> graph)` Sets the graph on which the cycle base search algorithm is executed by this object.

- - ### Method Detail

    - #### getGraph

          UndirectedGraph<V,E> getGraph()

      Returns the graph on which the cycle base search algorithm is executed by this object.
      Returns:
        The graph.

    - #### setGraph

          void setGraph(UndirectedGraph<V,E> graph)

      Sets the graph on which the cycle base search algorithm is executed by this object.
      Parameters:
        `graph` - the graph.
      Throws:
        `IllegalArgumentException` - if the argument is `null`.

    - #### findCycleBase

          List<List<V>> findCycleBase()

      Finds a cycle base of the graph.
      Note that the full algorithm is executed on every call since the graph may have changed between calls.
      Returns:
        A list of cycles constituting a cycle base for the graph. Possibly empty but never `null`.
      Throws:
        `IllegalArgumentException` - if the current graph is null.

Copyright © 2016. All rights reserved.