V
- the vertex type.E
- the edge type.public class SzwarcfiterLauerSimpleCycles<V,E> extends Object implements DirectedSimpleCycles<V,E>
See:
J.L.Szwarcfiter and P.E.Lauer, Finding the elementary cycles of a directed graph in O(n + m) per
cycle, Technical Report Series, #60, May 1974, Univ. of Newcastle upon Tyne, Newcastle upon Tyne,
England.
Constructor and Description |
---|
SzwarcfiterLauerSimpleCycles()
Create a simple cycle finder with an unspecified graph.
|
SzwarcfiterLauerSimpleCycles(DirectedGraph<V,E> graph)
Create a simple cycle finder for the specified graph.
|
Modifier and Type | Method and Description |
---|---|
List<List<V>> |
findSimpleCycles()
Finds the simple cycles of the graph.
Note that the full algorithm is executed on every call since the graph may have changed between calls. |
DirectedGraph<V,E> |
getGraph()
Returns the graph on which the simple cycle search algorithm is executed by this object.
|
void |
setGraph(DirectedGraph<V,E> graph)
Sets the graph on which the simple cycle search algorithm is executed by this object.
|
public SzwarcfiterLauerSimpleCycles()
public SzwarcfiterLauerSimpleCycles(DirectedGraph<V,E> graph)
graph
- - the DirectedGraph in which to find cycles.IllegalArgumentException
- if the graph argument is
null
.public DirectedGraph<V,E> getGraph()
getGraph
in interface DirectedSimpleCycles<V,E>
public void setGraph(DirectedGraph<V,E> graph)
setGraph
in interface DirectedSimpleCycles<V,E>
graph
- the graph.public List<List<V>> findSimpleCycles()
findSimpleCycles
in interface DirectedSimpleCycles<V,E>
null
.Copyright © 2017. All rights reserved.