public class EulerianCycle extends Object
EulerianCycleclass represents a data type for finding an Eulerian cycle or path in a graph. An Eulerian cycle is a cycle (not necessarily simple) that uses every edge in the graph exactly once.
This implementation uses a nonrecursive depth-first search. The constructor takes Θ(E + V) time in the worst case, where E is the number of edges and V is the number of vertices Each instance method takes Θ(1) time. It uses Θ(E + V) extra space in the worst case (not including the graph).
For additional documentation, see Section 4.1 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
|Constructor and Description|
Computes an Eulerian cycle in the specified graph, if one exists.
|Modifier and Type||Method and Description|
Returns the sequence of vertices on an Eulerian cycle.
Returns true if the graph has an Eulerian cycle.
Unit tests the
public EulerianCycle(Graph G)
G- the graph
nullif no such cycle
public boolean hasEulerianCycle()
trueif the graph has an Eulerian cycle;
public static void main(String args)
args- the command-line arguments