Interface ConjugateACyclicSubGraph
-
- All Superinterfaces:
Comparable<IdAble>
,DirectedSubGraph<ConjugateDirectedVertex,ConjugateEdgeSegment>
,IdAble
,Iterable<ConjugateDirectedVertex>
,UntypedACyclicSubGraph<ConjugateDirectedVertex,ConjugateEdgeSegment>
- All Known Implementing Classes:
ConjugateACyclicSubGraphImpl
public interface ConjugateACyclicSubGraph extends UntypedACyclicSubGraph<ConjugateDirectedVertex,ConjugateEdgeSegment>
An conjugate acyclic sub graph contains a subset of a graph without cycles. The active subset of the graph is tracked by explicitly registering conjugate edge segments. Conjugate Edge segments are by definition directed.A topological sort on the current state of the conjugate graph allows for fast traversal of the conjugate 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 ConjugateACyclicSubGraph
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.ConjugateACyclicSubGraph
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
ConjugateACyclicSubGraph shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClone
in interfaceDirectedSubGraph<ConjugateDirectedVertex,ConjugateEdgeSegment>
- Specified by:
shallowClone
in interfaceIdAble
- Specified by:
shallowClone
in interfaceUntypedACyclicSubGraph<ConjugateDirectedVertex,ConjugateEdgeSegment>
- Returns:
- shallow copy of entity
-
deepClone
ConjugateACyclicSubGraph 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<ConjugateDirectedVertex,ConjugateEdgeSegment>
- Specified by:
deepClone
in interfaceIdAble
- Specified by:
deepClone
in interfaceUntypedACyclicSubGraph<ConjugateDirectedVertex,ConjugateEdgeSegment>
- Returns:
- deep copy of entity
-
-