A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Articulation Points and Bridges in Graphs

College Depth 86 in the knowledge graph ☐ I know this ☆ Set as goal
6topics build on this
440prerequisites beneath it
See this on the map →
Depth-First Search (DFS)→→Cycle Detection in Directed and Undirected GraphsMaximum Flow: Network Flow Problems and Algorithms
graphs articulation connectivity

Core Idea

An articulation point (cut vertex) is a vertex whose removal disconnects the graph. A bridge is an edge with the same property. Tarjan's algorithm identifies them in a single DFS pass by tracking discovery time and lowest reachable time. Critical for network reliability and resilience.

How It's Best Learned

Implement DFS-based articulation point detection. Verify on graphs with known cut vertices (e.g., a tree has internal nodes as articulation points). Apply to network reliability problems.

Common Misconceptions

Explainer

From your study of depth-first search, you know that DFS explores a graph by going as deep as possible along each branch before backtracking, producing a DFS tree that spans the graph. The tree edges follow the DFS traversal, while back edges connect descendants to ancestors. Articulation points and bridges build directly on this structure by asking: which vertices or edges are so critical that removing them would split the graph into disconnected pieces?

Think of a road network. Most intersections can be closed for construction because alternative routes exist. But some intersections are chokepoints — close them and entire neighborhoods become unreachable. An articulation point (or cut vertex) is exactly such a chokepoint: a vertex whose removal increases the number of connected components. A bridge is the edge equivalent — an edge whose removal disconnects the graph. Identifying these critical points is essential for analyzing network reliability, whether the network carries internet traffic, water, or electrical power.

Tarjan's algorithm finds all articulation points in a single DFS pass using two values per vertex: discovery time (`disc[v]`), the order in which DFS first visits the vertex, and low value (`low[v]`), the smallest discovery time reachable from the subtree rooted at `v` through any combination of tree edges and back edges. The low value captures a crucial question: can the descendants of `v` reach back above `v` in the DFS tree without going through `v`? If `low[child] >= disc[v]` for some child of `v`, that child's entire subtree has no back edge to an ancestor of `v` — removing `v` would strand that subtree. Vertex `v` is therefore an articulation point. For bridges, the condition is stricter: if `low[child] > disc[v]`, the edge `(v, child)` is a bridge, because the subtree cannot reach `v` itself through any other path.

The root of the DFS tree is a special case. Since every vertex's discovery time is at least as large as the root's, the general condition `low[child] >= disc[root]` is trivially true for all children. Instead, the root is an articulation point if and only if it has two or more children in the DFS tree. If the root has only one child, removing it leaves a single connected component (the rest of the tree). If it has multiple children, those subtrees are only connected through the root — removing it splits them apart. The entire algorithm runs in O(V + E) time, the same complexity as DFS itself, because it simply augments the DFS traversal with the discovery and low-value bookkeeping.

Practice Questions 5 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Boolean Algebra → Boolean Type and Truth Values → Comparison Operators and Boolean Tests → Logical Operators and Boolean Algebra → Conditional Statements → Defining and Calling Functions → Functions: Decomposing Problems → Function Parameters and Argument Passing → Return Values → Variable Scope → Introduction to Classes → Objects and Instances → Methods and Attributes → Algorithm Design Basics → Tree Structure and Node Properties → Binary Trees → Tree Traversals → Depth-First Search (DFS) → Articulation Points and Bridges in Graphs

Longest path: 87 steps · 440 total prerequisite topics

Prerequisites (1)

Leads To (2)