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 .
Namespace: Algs4Net
public class DirectedEulerianCycle
The DirectedEulerianCycle type exposes the following members.
Name | Description | |
---|---|---|
![]() | DirectedEulerianCycle |
Computes an Eulerian cycle in the specified digraph, if one exists.
|
Name | Description | |
---|---|---|
![]() | HasEulerianCycle |
Returns true if the digraph has an Eulerian cycle. |
Name | Description | |
---|---|---|
![]() | GetCycle |
Returns the sequence of vertices on an Eulerian cycle. |
![]() ![]() | MainTest |
Demo test the DirectedEulerianCycle data type. |
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.