类 DirectedEulerianPath
- java.lang.Object
-
- edu.princeton.cs.algs4.DirectedEulerianPath
-
public class DirectedEulerianPath extends java.lang.ObjectTheDirectedEulerianPathclass represents a data type for finding an Eulerian path in a digraph. An Eulerian path is a path (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 cycles in digraphs, see
DirectedEulerianCycle. To compute Eulerian cycles and paths in undirected graphs, seeEulerianCycleandEulerianPath.For additional documentation, see Section 4.2 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
-
-
构造器概要
构造器 构造器 说明 DirectedEulerianPath(Digraph G)Computes an Eulerian path in the specified digraph, if one exists.
-
方法概要
修饰符和类型 方法 说明 booleanhasEulerianPath()Returns true if the digraph has an Eulerian path.static voidmain(java.lang.String[] args)Unit tests theDirectedEulerianPathdata type.java.lang.Iterable<java.lang.Integer>path()Returns the sequence of vertices on an Eulerian path.
-
-
-
构造器详细资料
-
DirectedEulerianPath
public DirectedEulerianPath(Digraph G)
Computes an Eulerian path in the specified digraph, if one exists.- 参数:
G- the digraph
-
-
方法详细资料
-
path
public java.lang.Iterable<java.lang.Integer> path()
Returns the sequence of vertices on an Eulerian path.- 返回:
- the sequence of vertices on an Eulerian path;
nullif no such path
-
hasEulerianPath
public boolean hasEulerianPath()
Returns true if the digraph has an Eulerian path.- 返回:
trueif the digraph has an Eulerian path;falseotherwise
-
main
public static void main(java.lang.String[] args)
Unit tests theDirectedEulerianPathdata type.- 参数:
args- the command-line arguments
-
-