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 runs in O(E + V) time, and uses O(E + V) extra space, where E is the number of edges and V the number of vertices All other methods take O(1) time.
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