Documentation of 'edu.princeton.cs.algs4.DirectedEulerianCycle' Java class
DirectedEulerianCycle
edu.princeton.cs.algs4

Class DirectedEulerianCycle



  • public class DirectedEulerianCycle
    extends java.lang.Object
    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 DirectedEulerianPath. 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.

    • Constructor Summary

      Constructors 
      Constructor and Description
      DirectedEulerianCycle(Digraph G)
      Computes an Eulerian cycle in the specified digraph, if one exists.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.Iterable<java.lang.Integer> cycle()
      Returns the sequence of vertices on an Eulerian cycle.
      boolean hasEulerianCycle()
      Returns true if the digraph has an Eulerian cycle.
      static void main(java.lang.String[] args)
      Unit tests the DirectedEulerianCycle data type.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DirectedEulerianCycle

        public DirectedEulerianCycle(Digraph G)
        Computes an Eulerian cycle in the specified digraph, if one exists.
        Parameters:
        G - the digraph
    • Method Detail

      • cycle

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

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

        public static void main(java.lang.String[] args)
        Unit tests the DirectedEulerianCycle data type.
        Parameters:
        args - the command-line arguments

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.