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 (4)

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 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 (4)

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 algorithm for strongly connected components ⓘ
linked to: Tarjan's strongly connected components algorithm
Tarjan's strongly connected components algorithm → alsoKnownAs → Tarjan's SCC algorithm ⓘ
linked to: Tarjan's strongly connected components algorithm
Kosaraju's algorithm → relatedTo → Tarjan's algorithm ⓘ
linked to: Tarjan's strongly connected components algorithm