Strongly Connected Components

Find nodes that can mutually reach each other

Strongly Connected Components identifies maximal subgraphs where every node can reach every other node respecting edge direction.

What It Computes

Component ID for each node - stricter than weakly connected (requires bidirectional reachability).

When to Use It

  • Dependency cycles: Find circular dependencies
  • Mutual reachability: Nodes that can communicate both ways
  • Core structures: Tightly coupled subsystems

Performance

Time: O(V + E)
Scales to: 100M+ edges

Example

Use Cases

Find Dependency Cycles

Systems with circular dependencies:

Core Network

Nodes that form the "core" (mutually reachable)

vs Weakly Connected

Weakly: A can reach B OR B can reach A
Strongly: A can reach B AND B can reach A

See Also