类 DirectedEulerianPath


  • public class DirectedEulerianPath
    extends java.lang.Object
    The DirectedEulerianPath class 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, see EulerianCycle and EulerianPath.

    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.
    • 方法概要

      修饰符和类型 方法 说明
      boolean hasEulerianPath()
      Returns true if the digraph has an Eulerian path.
      static void main​(java.lang.String[] args)
      Unit tests the DirectedEulerianPath data type.
      java.lang.Iterable<java.lang.Integer> path()
      Returns the sequence of vertices on an Eulerian path.
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造器详细资料

      • 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; null if no such path
      • hasEulerianPath

        public boolean hasEulerianPath()
        Returns true if the digraph has an Eulerian path.
        返回:
        true if the digraph has an Eulerian path; false otherwise
      • main

        public static void main​(java.lang.String[] args)
        Unit tests the DirectedEulerianPath data type.
        参数:
        args - the command-line arguments