Bridges and Articulation Points
Use DFS timestamps and low-link values to find the edges and vertices whose removal disconnects an undirected graph.
Interactive visualization
Use the controls to connect the idea to concrete operations before diving into the full write-up.
node 0
disc = 0
low = 0
node 1
disc = 1
low = 0
node 2
disc = 2
low = 0
node 3
disc = 3
low = 3
node 4
disc = 4
low = 3
node 5
disc = 5
low = 3
One low-link idea, two answers
An edge (u, v) is a bridge when the child side cannot reach an ancestor of u, so low[v] > disc[u].
Family
Graphs
Nodes, edges, traversal, connectivity, and shortest paths.
Builds on
2 topics
Read these first if you want the surrounding context.
Unlocks
0 next topics
Use these follow-ups when you want to apply the current idea in a richer setting.
Learning paths
2
This topic appears in curated progressions so you can keep moving without guessing the next step.
Problem
In an undirected graph, you may want to know:
- which edges are critical connections
- which vertices are critical junctions
A bridge is an edge whose removal increases the number of connected components. An articulation point is a vertex whose removal does the same.
Core idea
During DFS, record:
disc[u]: whenuwas first discoveredlow[u]: earliest discovery time reachable fromu’s subtree using at most one back edge
That single low-link concept answers both questions.
Bridge rule
For a DFS tree edge u -> v:
means the subtree of v cannot climb back above u, so removing (u, v) disconnects the graph.
Articulation-point rule
A non-root node u is an articulation point if it has a DFS child v such that:
A root is an articulation point when it has more than one DFS child.
Why it matters
These problems are where many people first see low-link values outside SCCs.
They matter in:
- network reliability
- road or server criticality
- block-cut trees and biconnected components
- “critical connection” interview variants
Complexity
| Operation | Time |
|---|---|
| Find all bridges/articulation points |
Key takeaways
- One DFS plus low-link values solves both bridge and articulation-point detection
- Bridges talk about critical edges; articulation points talk about critical vertices
- The inequalities differ slightly:
>for bridges,>=for articulation children - This is rare advanced graph material, but it fills an important gap between basic traversal and serious connectivity analysis
Practice problems
| Problem | Difficulty | Key idea |
|---|---|---|
| Critical Connections in a Network | 🔴 Hard | Bridge detection |
| Submerging Islands | 🔴 Hard | Articulation points |
| Necessary Roads | 🔴 Hard | Bridge reporting |
Relation to other topics
- DFS provides the discovery tree and back edges
- Tarjan SCC uses related low-link reasoning on directed graphs
- Eulerian Path is another graph-structure topic that depends on understanding connectivity constraints
Build on these first
These topics supply the mental model or underlying structure that this page assumes.
DFS — Depth-First Search
Dive as deep as possible before backtracking. DFS is essential for detecting cycles, topological sorting, and exploring all paths in a graph.
Graph Fundamentals
Learn the core language of nodes, edges, paths, and cycles. Graphs are the broad container that trees, BFS, DFS, Dijkstra, and MST all live inside.
Related directions
These topics live nearby conceptually, even if they are not direct prerequisites.
Union-Find (Disjoint Set)
Track connected components efficiently with near-constant time union and find operations. The backbone of Kruskal's MST and dynamic connectivity.
Eulerian Path
Traverse every edge exactly once by checking degree conditions and then building the walk with Hierholzer's algorithm.
Tarjan SCC
Find strongly connected components in one DFS by tracking discovery times, low-link values, and the active stack.
More from Graphs
Stay in the same family when you want parallel variations of the same mental model.
BFS — Breadth-First Search
Explore a graph level by level using a queue. BFS finds the shortest path in unweighted graphs and is fundamental to many graph algorithms.
DFS — Depth-First Search
Dive as deep as possible before backtracking. DFS is essential for detecting cycles, topological sorting, and exploring all paths in a graph.
Graph Fundamentals
Learn the core language of nodes, edges, paths, and cycles. Graphs are the broad container that trees, BFS, DFS, Dijkstra, and MST all live inside.
0-1 BFS
Find shortest paths in graphs whose edge weights are only 0 or 1 using a deque instead of a heap.
Paths that include this topic
Follow one of these sequences if you want a guided next step instead of open-ended browsing.
Graph toolkit
Start with graph shape, then layer traversal, connectivity structure, and both single-source and all-pairs path algorithms.
Graph structure
Go beyond traversal into SCCs, critical edges, degree structure, and other non-shortest-path graph properties.
From the blog
Pair the atlas with recent writing from the rest of the site when you want a broader engineering perspective alongside the topic graph.