Documentation

Mathlib.Tactic.Order.Graph.Tarjan

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 vertex v in the DFS traversal.

  • stack : Array

    The stack of visited vertices used in Tarjan's algorithm.

  • onStack : Std.HashSet

    onStack.contains v iff v is in stack. 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 a hashmap where the value at key v represents the SCC number containing vertex v. The numbering of SCCs is arbitrary.

      Equations
      Instances For