Click or drag to resize
EulerianCycle Class

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 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.

To compute Eulerian paths in graphs, see . To compute Eulerian cycles and paths in digraphs, see and .

Inheritance Hierarchy
SystemObject
  Algs4NetEulerianCycle

Namespace: Algs4Net
Assembly: Algs4Net (in Algs4Net.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
C#
public class EulerianCycle

The EulerianCycle type exposes the following members.

Constructors
  NameDescription
Public methodEulerianCycle
Computes an Eulerian cycle in the specified graph, if one exists.
Top
Properties
  NameDescription
Public propertyHasEulerianCycle
Returns true if the graph has an Eulerian cycle.
Top
Methods
  NameDescription
Public methodCycle
Returns the sequence of vertices on an Eulerian cycle.
Public methodStatic memberMainTest
Demo test the EulerianCycle data type.
Top
Remarks

For additional documentation, see Section 4.1 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

This class is a C# port from the original Java class EulerianCycle implementation by the respective authors.

See Also