Bridges and articulation points are the simplest local causes of disconnection in a graph.
A bridge is a single edge whose removal disconnects a graph. An articulation point is a single vertex whose removal disconnects a graph. These objects identify the places where a connected graph depends on one edge or one vertex to hold two regions together.
They are also called cut edges and cut vertices. These terms emphasize their role as minimal separators. A bridge is an edge cut of size . An articulation point is a vertex cut of size . Standard definitions state that a bridge is an edge whose deletion increases the number of connected components, and an articulation point is a vertex whose deletion increases the number of connected components.
49.1 Bridges
Let
be an undirected graph.
An edge is called a bridge if
has more connected components than .
If is connected, then is a bridge precisely when is disconnected.
For example, in the path graph
every edge is a bridge. Removing any edge breaks the path into two smaller components.
In a cycle graph
no edge is a bridge. Removing one edge leaves a path through all vertices, so the graph remains connected.
This contrast is fundamental. A path has no redundant route. A cycle has an alternate route around every edge.
49.2 Cut Edges and Cycles
An edge of a connected graph is a bridge if and only if it belongs to no cycle.
This gives the most useful structural test for bridges.
Suppose lies on a cycle. Then the rest of the cycle gives another path from to . If is removed, and remain connected through that alternate path. Therefore removing cannot disconnect the graph.
Conversely, suppose lies on no cycle. If there were another path from to , then that path together with would form a cycle. Hence no such alternate path exists. Removing separates from , so is a bridge.
Thus bridges are exactly the edges outside all cycles. This characterization is standard in graph theory.
49.3 Articulation Points
A vertex is called an articulation point if
has more connected components than .
The graph is obtained by deleting and all edges incident with .
If is connected, then is an articulation point precisely when deleting disconnects the graph.
For example, in the path graph
the vertices and are articulation points. Removing separates from and . Removing separates from and .
The endpoints and are not articulation points. Removing an endpoint leaves a smaller connected path.
In a cycle graph , no vertex is an articulation point. Removing any one vertex leaves a path, and a path is connected.
49.4 Comparison
Bridges and articulation points measure different kinds of fragility.
| Object | Removed item | Effect |
|---|---|---|
| Bridge | One edge | Increases the number of connected components |
| Articulation point | One vertex | Increases the number of connected components |
| Edge connectivity | Some bridge exists | One edge can disconnect the graph |
| Vertex connectivity | Some articulation point exists | One vertex can disconnect the graph |
A graph may have articulation points but no bridges. For example, two cycles sharing a single vertex have no bridge, since every edge lies on a cycle. However, the shared vertex is an articulation point.
A graph may also have bridges whose endpoints behave differently. If a bridge is incident with a leaf, then the leaf endpoint is not an articulation point. The other endpoint may be an articulation point if it remains connected to the rest of the graph.
49.5 Trees
Trees provide the clearest examples.
Let be a tree with at least two vertices. Every edge of is a bridge.
This follows because a tree has exactly one path between any two vertices. If an edge is removed, there is no alternate path between its endpoints.
The articulation points of a tree are exactly the non-leaf vertices.
A leaf has degree . Removing a leaf does not disconnect the remaining tree. But removing a non-leaf vertex separates its incident branches into different components.
Thus, for a tree:
| Item | Condition |
|---|---|
| Edge | Every edge is a bridge |
| Vertex | A vertex is an articulation point exactly when it is not a leaf |
This reflects the absence of cycles in trees. Trees are connected with the fewest possible edges, so they have no edge redundancy.
49.6 Blocks and Local Robustness
Articulation points divide a graph into blocks.
A block is a maximal connected subgraph with no articulation point. Blocks are the parts of a graph that remain internally connected under deletion of a single vertex, subject to the convention used for small blocks.
If two cycles share one vertex, each cycle is a block. The shared vertex belongs to both blocks and is an articulation point of the whole graph.
This shows how local robustness and global fragility can coexist. Each cycle has no internal articulation point, but the graph as a whole depends on one shared vertex.
The block structure of a graph is often represented by a block-cut tree. In this tree, one type of node represents blocks and another type represents articulation points. An articulation point is adjacent to each block that contains it.
49.7 Bridges and 2-Edge-Connectivity
A connected graph is -edge-connected if it has no bridge.
Equivalently, deleting any one edge leaves the graph connected.
This condition is weaker than -vertex-connectivity. A graph can have no bridges but still have articulation points.
For example, two cycles sharing one vertex are -edge-connected, because every edge lies on a cycle. But the shared vertex is an articulation point, so the graph is not -vertex-connected.
This distinction is important:
| Property | Meaning |
|---|---|
| No bridges | No single edge failure disconnects the graph |
| No articulation points | No single vertex failure disconnects the graph |
| -edge-connected | Robust against one edge deletion |
| -vertex-connected | Robust against one vertex deletion |
Vertex robustness is usually stronger than edge robustness, because deleting a vertex also deletes all incident edges.
49.8 DFS Trees
Depth-first search gives an efficient way to find all bridges and articulation points.
Run DFS on an undirected graph. The traversal produces a DFS forest. In a connected graph, it produces a DFS tree.
Each vertex receives a discovery time
This is the time at which DFS first visits .
The algorithm also computes a low value
Informally, is the earliest discovery time reachable from or from a descendant of using zero or more tree edges followed by at most one back edge. DFS low values are commonly used to detect both bridges and articulation points.
The low value records whether a subtree has an alternate connection back to an ancestor.
49.9 Bridge Criterion
Let be a tree edge in a DFS tree, where is the parent of .
Then is a bridge if and only if
The meaning is direct.
The subtree rooted at cannot reach or any ancestor of by a back edge. Therefore the only connection between that subtree and the rest of the graph is the edge . Removing disconnects the graph.
If
then the subtree rooted at has a back edge to or to an ancestor of . In that case, lies on a cycle and is not a bridge.
This criterion gives a linear-time bridge algorithm.
49.10 Articulation Point Criterion
The DFS criterion for articulation points has two cases.
First, suppose is the root of a DFS tree. Then is an articulation point if and only if it has at least two DFS children.
Indeed, two different DFS child subtrees of the root cannot be connected by a back edge. If they were connected, DFS would have discovered them in the same subtree. Removing the root separates these child subtrees.
Second, suppose is not the root. Then is an articulation point if it has a child such that
This condition means that the subtree rooted at cannot reach any proper ancestor of without passing through . Removing therefore separates that subtree from the earlier part of the DFS tree.
The two standard rules are: a DFS root is an articulation point when it has more than one child; a non-root vertex is an articulation point when some child subtree has no back edge to an ancestor of that vertex.
49.11 Algorithm Outline
The following algorithm finds bridges and articulation points in an undirected graph.
- Initialize all vertices as unvisited.
- Run DFS from every unvisited vertex.
- Assign each vertex a discovery time.
- Compute low values during recursion.
- For each DFS tree edge , test whether
If so, is a bridge.
- For each vertex , test the articulation point rules:
- if is a DFS root, it must have at least two DFS children;
- if is not a root, it must have a child with .
The running time is
because DFS examines every vertex and every edge a constant number of times.
49.12 Pseudocode
The following pseudocode gives the standard structure.
time = 0
DFS(u, parent):
visited[u] = true
disc[u] = time
low[u] = time
time = time + 1
child_count = 0
for each neighbor v of u:
if v is not visited:
child_count = child_count + 1
DFS(v, u)
low[u] = min(low[u], low[v])
if low[v] > disc[u]:
report edge uv as a bridge
if parent is not null and low[v] >= disc[u]:
report u as an articulation point
else if v != parent:
low[u] = min(low[u], disc[v])
if parent is null and child_count >= 2:
report u as an articulation pointThis algorithm assumes a simple undirected graph. In a multigraph, parent-edge handling must distinguish edge identities, not just parent vertices, because parallel edges can create alternate routes.
49.13 Example
Consider the graph with edges
The vertices form a triangle. The vertices form a triangle. The edge joins the two triangles.
The edge is a bridge. It lies on no cycle. Removing it separates the first triangle from the second triangle.
The vertices and are articulation points. Removing separates vertices from vertices . Removing separates vertices from vertices .
No edge inside either triangle is a bridge, because each such edge lies on a cycle. No other vertex is an articulation point, because deleting it leaves the graph connected.
This example shows that bridges and articulation points often occur at narrow connections between cyclic regions.
49.14 Common Mistakes
One common mistake is to assume that every endpoint of a bridge is an articulation point. This fails when the endpoint is a leaf. Removing a leaf does not disconnect the remaining graph.
Another mistake is to assume that every articulation point is incident with a bridge. This is false. In two cycles sharing one vertex, the shared vertex is an articulation point, but the graph has no bridge.
A third mistake is to confuse bridges with edges of low degree. An edge incident with a high-degree vertex may still be a bridge if it is the only connection between two regions.
A fourth mistake is to apply the DFS bridge condition to all edges. The condition
applies to DFS tree edges where is the parent of .
49.15 Applications
Bridges and articulation points identify single points of failure.
| Setting | Bridge | Articulation point |
|---|---|---|
| Road network | Road whose closure separates regions | Junction whose closure separates regions |
| Communication network | Link whose failure disconnects machines | Router whose failure disconnects machines |
| Social network | Relationship connecting communities | Person connecting communities |
| Dependency graph | Required connection between modules | Module whose removal separates subsystems |
| Circuit graph | Wire whose removal breaks connectivity | Terminal whose removal breaks connectivity |
They are useful in reliability analysis because they identify failures with immediate global consequences.
However, they measure only single failures. A graph with no bridges and no articulation points may still be vulnerable to the removal of two edges or two vertices. Higher connectivity studies these stronger forms of robustness.
49.16 Summary
Bridges and articulation points are the one-element separators of graph theory.
| Concept | Meaning |
|---|---|
| Bridge | Edge whose deletion increases connected components |
| Articulation point | Vertex whose deletion increases connected components |
| Cut edge | Another name for bridge |
| Cut vertex | Another name for articulation point |
| Bridge criterion | A tree edge is a bridge when |
| Articulation criterion | A non-root vertex is critical when some child has |
| DFS root criterion | A root is critical when it has at least two DFS children |
Bridges reveal edges with no alternate route. Articulation points reveal vertices through which separate regions must pass. Together they provide the first algorithmic and structural test for local fragility in a connected graph.