Package org.jgrapht.experimental.dag
Experimental package with directed acyclic graphs.
-
Interface Summary Interface Description DirectedAcyclicGraph.TopoOrderMapping<V> For performance tuning, an interface for storing the topological orderingDirectedAcyclicGraph.TopoOrderMappingFactory<V> A factory forDirectedAcyclicGraph.TopoOrderMapping
.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.TopoComparator<V> Note, this is a lazy and incomplete implementation, with assumptions that inputs are in the given topoIndexMapDirectedAcyclicGraph.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