Class StronglyConnectedComponentDetector<T>
java.lang.Object
net.minecraftforge.fml.loading.toposort.StronglyConnectedComponentDetector<T>
An object that splits a graph into strongly connected components lazily with
Tarjan's Strongly Connected Components Algorithm.
This algorithm allows to detect all cycles in dependencies that prevent topological sorting.
This detector evaluates the graph lazily and won't reflect the modifications in the graph after initial evaluation.
-
Field Summary
-
Constructor Summary
-
Method Summary
-
Field Details
-
graph
-
ids
-
elements
-
dfn
private int[] dfn -
low
private int[] low -
stack
private int[] stack -
top
private int top -
onStack
-
components
-
-
Constructor Details
-
StronglyConnectedComponentDetector
-
-
Method Details
-
getComponents
-
calculate
private void calculate() -
dfs
private void dfs(int now, int depth)
-