Interface ACyclicSubGraph
-
- All Superinterfaces:
Comparable<IdAble>,DirectedSubGraph<DirectedVertex,EdgeSegment>,IdAble,Iterable<DirectedVertex>,UntypedACyclicSubGraph<DirectedVertex,EdgeSegment>
- All Known Implementing Classes:
ACyclicSubGraphImpl
public interface ACyclicSubGraph extends UntypedACyclicSubGraph<DirectedVertex,EdgeSegment>
An acyclic sub graph contains a subset of the full graph without cycles. The active subset of the graph is tracked by explicitly registering edge segments. Edge segments are by definition directed.A topological sort on the current state of the graph allows for fast traversal of the graph for various algorithms (shortest path). It also reveals if the graph is still acyclic.
- Author:
- markr
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ACyclicSubGraphdeepClone()An id entity should always support a deep copy, i.e., all "owned" members will be deep copied when a clone of this instance is created via this call.ACyclicSubGraphshallowClone()Create a shallow copy of this entity-
Methods inherited from interface org.goplanit.utils.graph.directed.DirectedSubGraph
addEdgeSegment, containsEdgeSegment, getNumberOfEdgeSegments, getNumberOfVertices, isEmpty, removeEdgeSegment
-
Methods inherited from interface org.goplanit.utils.id.IdAble
compareTo, getId, idEquals, idHashCode
-
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
Methods inherited from interface org.goplanit.utils.graph.directed.acyclic.UntypedACyclicSubGraph
addRootVertex, getRootVertices, getTopologicalIterator, getTopologicalIterator, isDirectionInverted, topologicalSort
-
-
-
-
Method Detail
-
shallowClone
ACyclicSubGraph shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClonein interfaceDirectedSubGraph<DirectedVertex,EdgeSegment>- Specified by:
shallowClonein interfaceIdAble- Specified by:
shallowClonein interfaceUntypedACyclicSubGraph<DirectedVertex,EdgeSegment>- Returns:
- shallow copy of entity
-
deepClone
ACyclicSubGraph deepClone()
An id entity should always support a deep copy, i.e., all "owned" members will be deep copied when a clone of this instance is created via this call. To be used with caution if not called by managed id container related code- Specified by:
deepClonein interfaceDirectedSubGraph<DirectedVertex,EdgeSegment>- Specified by:
deepClonein interfaceIdAble- Specified by:
deepClonein interfaceUntypedACyclicSubGraph<DirectedVertex,EdgeSegment>- Returns:
- deep copy of entity
-
-