Tarjan's Algorithm #
This file implements Tarjan's algorithm for finding the strongly connected components (SCCs) of a graph.
State for Tarjan's algorithm.
id[v]is the index of the vertexvin the DFS traversal.lowlink[v]is the smallest index of any node on the stack that is reachable fromvthroughv's DFS subtree.The stack of visited vertices used in Tarjan's algorithm.
onStack[v] = trueiffvis instack. The structure is used to check it efficiently.- time : ℕ
A time counter that increments each time the algorithm visits an unvisited vertex.
Instances For
The Tarjan's algorithm. See Wikipedia.
Implementation of findSCCs in the StateM TarjanState monad.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Finds the strongly connected components of the graph g. Returns an array where the value at
index v represents the SCC number containing vertex v. The numbering of SCCs is arbitrary.
Equations
- One or more equations did not get rendered due to their size.