# Package org.jgrapht.experimental.dag

- Interface Summary
  Interface | Description
  --- | ---
  DirectedAcyclicGraph.TopoOrderMapping<V> | For performance tuning, an interface for storing the topological ordering
  DirectedAcyclicGraph.TopoOrderMappingFactory<V> |
  DirectedAcyclicGraph.Visited | this interface allows specification of a strategy for marking vertices as visited (based on their topological index, so the vertex type isn't part of the interface).
  DirectedAcyclicGraph.VisitedFactory | interface for a factory that vends Visited implementations

- Class Summary
  Class | Description
  --- | ---
  DirectedAcyclicGraph<V,E> | DirectedAcyclicGraph implements a DAG that can be modified (vertices & edges added and removed), is guaranteed to remain acyclic, and provides fast topological order iteration.
  DirectedAcyclicGraph.Region | Region is an *inclusive* range of indices.
  DirectedAcyclicGraph.VisitedArrayImpl | This implementation, somewhat to my surprise, is slower than the ArrayList version, probably due to its reallocation of the underlying array for every topology reorder that is required.
  DirectedAcyclicGraph.VisitedArrayListImpl | This implementation seems to offer the best performance in most cases.
  DirectedAcyclicGraph.VisitedBitSetImpl | This implementation is close to the performance of VisitedArrayListImpl, with 1/8 the memory usage.
  DirectedAcyclicGraph.VisitedHashSetImpl | This implementation doesn't seem to perform as well, though I can imagine circumstances where it should shine (lots and lots of vertices).

- Exception Summary
  Exception | Description
  --- | ---
  DirectedAcyclicGraph.CycleFoundException | Exception used in dfsF when a cycle is found

Copyright © 2016. All rights reserved.