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