类 EulerianCycle


  • public class EulerianCycle
    extends java.lang.Object
    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 EulerianPath. To compute Eulerian cycles and paths in digraphs, see DirectedEulerianCycle and DirectedEulerianPath.

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

    • 构造器概要

      构造器 
      构造器 说明
      EulerianCycle​(Graph G)
      Computes an Eulerian cycle in the specified graph, if one exists.
    • 方法概要

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

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

      • EulerianCycle

        public EulerianCycle​(Graph G)
        Computes an Eulerian cycle in the specified graph, if one exists.
        参数:
        G - the graph
    • 方法详细资料

      • cycle

        public java.lang.Iterable<java.lang.Integer> cycle()
        Returns the sequence of vertices on an Eulerian cycle.
        返回:
        the sequence of vertices on an Eulerian cycle; null if no such cycle
      • hasEulerianCycle

        public boolean hasEulerianCycle()
        Returns true if the graph has an Eulerian cycle.
        返回:
        true if the graph has an Eulerian cycle; false otherwise
      • main

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