Package algs41
Class EulerianCycle
java.lang.Object
algs41.EulerianCycle
The 
EulerianCycle class 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).
  To compute Eulerian paths in graphs, see EulerianPath.
  To compute Eulerian cycles and paths in digraphs, see
  DirectedEulerianCycle and DirectedEulerianPath.
  
For additional documentation, see Section 4.1 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
- Author:
- Robert Sedgewick, Kevin Wayne, Nate Liu
- 
Nested Class SummaryNested Classes
- 
Field SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionComputes an Eulerian cycle in the specified graph, if one exists.
- 
Method SummaryModifier and TypeMethodDescriptionprivate booleancycle()Returns the sequence of vertices on an Eulerian cycle.booleanReturns true if the graph has an Eulerian cycle.static voidUnit tests theEulerianCycledata type.private static intprivate static booleanThe code below is solely for testing correctness of the data type.private static void
- 
Field Details- 
cycle
 
- 
- 
Constructor Details- 
EulerianCycleComputes an Eulerian cycle in the specified graph, if one exists.- Parameters:
- G- the graph
 
 
- 
- 
Method Details- 
cycleReturns the sequence of vertices on an Eulerian cycle.- Returns:
- the sequence of vertices on an Eulerian cycle;
         nullif no such cycle
 
- 
hasEulerianCycleReturns true if the graph has an Eulerian cycle.- Returns:
- trueif the graph has an Eulerian cycle;- falseotherwise
 
- 
nonIsolatedVertex
- 
satisfiesNecessaryAndSufficientConditionsThe code below is solely for testing correctness of the data type.
- 
certifySolution
- 
unitTest
- 
mainUnit tests theEulerianCycledata type.- Parameters:
- args- the command-line arguments
 
 
-