Click or drag to resize
DirectedEulerianCycle Class

The DirectedEulerianCycle class represents a data type for finding an Eulerian cycle or path in a digraph. An Eulerian cycle is a cycle (not necessarily simple) that uses every edge in the digraph exactly once.

This implementation uses a nonrecursive depth-first search. The constructor runs in O(E + V) time, and uses O(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 digraphs, see . To compute Eulerian cycles and paths in undirected graphs, see and .

Inheritance Hierarchy
SystemObject
  Algs4NetDirectedEulerianCycle

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

The DirectedEulerianCycle type exposes the following members.

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

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

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

See Also