Class SlowDFSDiscoverTimeIterator<T>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<T>, java.util.Collection<T>, java.util.Iterator<T>, java.util.List<T>, java.util.RandomAccess

    public class SlowDFSDiscoverTimeIterator<T>
    extends DFSDiscoverTimeIterator<T>
    This class implements depth-first search over a Graph, return an enumeration of the nodes of the graph in order of increasing discover time. This class follows the outNodes of the graph nodes to define the graph, but this behavior can be changed by overriding the getConnected method.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static long serialVersionUID  
      • Fields inherited from class java.util.AbstractList

        modCount
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.util.Iterator<? extends T> getConnected​(T n)
      get the out edges of a given node
      protected java.util.Iterator<? extends T> getPendingChildren​(java.lang.Object n)  
      protected void init​(Graph<T> G, java.util.Iterator<? extends T> nodes)  
      protected void setPendingChildren​(T v, java.util.Iterator<? extends T> iterator)
      Method setPendingChildren.
      • Methods inherited from class java.util.ArrayList

        add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
      • Methods inherited from class java.util.AbstractCollection

        containsAll, toString
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, stream, toArray
      • Methods inherited from interface java.util.Iterator

        forEachRemaining
      • Methods inherited from interface java.util.List

        containsAll
    • Constructor Detail

      • SlowDFSDiscoverTimeIterator

        protected SlowDFSDiscoverTimeIterator()
        For use with extreme care by subclasses that know what they're doing.
      • SlowDFSDiscoverTimeIterator

        public SlowDFSDiscoverTimeIterator​(Graph<T> G,
                                           T N)
        Construct a depth-first enumerator starting with a particular node in a directed graph.
        Parameters:
        G - the graph whose nodes to enumerate
      • SlowDFSDiscoverTimeIterator

        public SlowDFSDiscoverTimeIterator​(Graph<T> G,
                                           java.util.Iterator<T> nodes)
        Construct a depth-first enumerator across the (possibly improper) subset of nodes reachable from the nodes in the given enumeration.
        Parameters:
        G - the graph whose nodes to enumerate
        nodes - the set of nodes from which to start searching
      • SlowDFSDiscoverTimeIterator

        public SlowDFSDiscoverTimeIterator​(Graph<T> G)
                                    throws java.lang.NullPointerException
        Constructor SlowDFSDiscoverTimeIterator.
        Throws:
        java.lang.NullPointerException - if G is null
    • Method Detail

      • init

        protected void init​(Graph<T> G,
                            java.util.Iterator<? extends T> nodes)
      • getConnected

        protected java.util.Iterator<? extends T> getConnected​(T n)
        Description copied from class: DFSDiscoverTimeIterator
        get the out edges of a given node
        Specified by:
        getConnected in class DFSDiscoverTimeIterator<T>
        Parameters:
        n - the node of which to get the out edges
        Returns:
        the out edges