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 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.ACyclicSubGraph
shallowClone()
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:
shallowClone
in interfaceDirectedSubGraph<DirectedVertex,EdgeSegment>
- Specified by:
shallowClone
in interfaceIdAble
- Specified by:
shallowClone
in 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:
deepClone
in interfaceDirectedSubGraph<DirectedVertex,EdgeSegment>
- Specified by:
deepClone
in interfaceIdAble
- Specified by:
deepClone
in interfaceUntypedACyclicSubGraph<DirectedVertex,EdgeSegment>
- Returns:
- deep copy of entity
-
-