Package ghidra.graph.algo
Class JohnsonCircuitsAlgorithm<V,E extends GEdge<V>>
- java.lang.Object
-
- ghidra.graph.algo.JohnsonCircuitsAlgorithm<V,E>
-
- Type Parameters:
V- the vertex typeE- the edge type
public class JohnsonCircuitsAlgorithm<V,E extends GEdge<V>> extends java.lang.ObjectFinds all circuits (loops) in the given graph.Warning: This is a recursive algorithm. As such, it is limited in how deep it can recurse. Any path that exceeds the
JAVA_STACK_DEPTH_LIMITwill not be found.
-
-
Field Summary
Fields Modifier and Type Field Description static intJAVA_STACK_DEPTH_LIMIT
-
Constructor Summary
Constructors Constructor Description JohnsonCircuitsAlgorithm(GDirectedGraph<V,E> g, Accumulator<java.util.List<V>> accumulator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcompute(boolean uniqueCircuits, TaskMonitor monitor)Finds the circuits in the graph passed at construction time.
-
-
-
Field Detail
-
JAVA_STACK_DEPTH_LIMIT
public static final int JAVA_STACK_DEPTH_LIMIT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JohnsonCircuitsAlgorithm
public JohnsonCircuitsAlgorithm(GDirectedGraph<V,E> g, Accumulator<java.util.List<V>> accumulator)
-
-
Method Detail
-
compute
public void compute(boolean uniqueCircuits, TaskMonitor monitor) throws CancelledExceptionFinds the circuits in the graph passed at construction time.- Parameters:
uniqueCircuits- true signals to return only unique circuits, where no two circuits will contain the same vertexmonitor- the task monitor- Throws:
CancelledException- if the monitor is cancelled
-
-