Tarjan's strongly connected components algorithm

E323102

Tarjan's strongly connected components algorithm is a classic linear-time graph algorithm that efficiently identifies all strongly connected components in a directed graph using depth-first search and low-link values.

All labels observed (3)

How this entity was disambiguated

Statements (46)

Predicate Object
instanceOf depth-first search based algorithm
graph algorithm
linear-time algorithm
strongly connected components algorithm
advantageOver Kosaraju's algorithm in using a single depth-first search pass
alsoKnownAs Tarjan's strongly connected components algorithm
surface form: Tarjan's SCC algorithm
assumes finite directed graph
category graph decomposition algorithm
single-source DFS-based algorithm
complexityClass linear in the size of the graph
correctnessBasedOn definition of strongly connected components
properties of depth-first search trees in directed graphs
field algorithms
computer science
graph theory
guarantees components are reported in reverse topological order of the component graph
each vertex belongs to exactly one strongly connected component
implementationDetail each edge is examined exactly once
each vertex is pushed onto the stack at most once
input directed graph
introducedBy Robert Tarjan
introducedIn 1972
namedAfter Robert Tarjan
output partition of vertices into strongly connected components
property online with respect to DFS order of components
publishedIn SIAM Journal on Computing
relatedTo Gabow's strongly connected components algorithm
Kosaraju's algorithm
requires graph stored in adjacency representation
solvesProblem finding strongly connected components in a directed graph
spaceComplexity O(V)
step identify root vertices where index equals low-link value
maintain a stack of active vertices in the current DFS search path
perform depth-first search assigning an index to each visited vertex
pop vertices from the stack to form a strongly connected component when a root is found
update low-link values based on DFS tree edges and back edges
timeComplexity O(V + E)
usedIn circuit analysis
deadlock detection
decomposition of graphs into strongly connected components
model checking
program analysis
usesConcept low-link values
usesDataStructure arrays for indices and low-link values
stack
usesTechnique depth-first search

How these facts were elicited

Referenced by (3)

Full triples — surface form annotated when it differs from this entity's canonical label.

Robert Tarjan notableConcept Tarjan's strongly connected components algorithm
S. Rao Kosaraju inspiredWork Tarjan's strongly connected components algorithm
this entity surface form: Tarjan's algorithm for strongly connected components
Tarjan's strongly connected components algorithm alsoKnownAs Tarjan's strongly connected components algorithm
this entity surface form: Tarjan's SCC algorithm