Skip to content

SPQR Tree

A canonical tree representation of a biconnected graph's decomposition at separation pairs, whose S, P, Q, and R skeletons expose series, parallel, edge, and rigid triconnected structure and reconstruct the graph through paired virtual edges.

Version
v1 · 2026-08-30 · History
Domain-specific #
2832
Origin domain
computer science
Subdomain
graph algorithms
Aliases
SPQR-tree, SPQR decomposition tree

Core Idea

An SPQR tree is a canonical decomposition representation for a finite undirected biconnected graph. It organizes the graph's structure at its two-vertex separators into a tree whose nodes carry smaller graphs, called skeletons. The four node types name the possible skeleton forms: an S-node has a cycle or polygon skeleton (series structure), a P-node has a bond or dipole of parallel edges between two vertices (parallel structure), a Q-node represents an original graph edge under conventions that retain such nodes, and an R-node has a genuinely 3-connected skeleton (rigid structure).

Scope of Application

SPQR trees live in graph theory and graph-algorithm practice wherever reasoning must preserve the complete structure of a biconnected graph while exposing all its two-vertex interfaces. The concept is especially important in planarity, graph drawing, dynamic connectivity, and algorithms that can solve or combine a property over triconnected pieces.

In planar embedding representation, an SPQR tree turns the global family of embeddings into local choices. For a planar 3-connected R skeleton the embedding on the sphere is fixed up to reflection; P skeletons permit permutations of their parallel attachments; virtual-edge attachments can be flipped.

Clarity

The concept clarifies a question that “decompose at every two-vertex cut” leaves dangerously underspecified: how can overlapping separation pairs be represented without selecting an arbitrary sequence of splits? A naive recursive split can create different intermediate pieces depending on which separator is chosen first. The reduced SPQR tree supplies the normal form. Cyclic chains merge into S skeletons, parallel separation classes merge into P skeletons, unsplittable 3-connected residues become R skeletons, and graph edges are retained directly or through Q leaves.

Manages Complexity

A biconnected graph can have many separation pairs, and those pairs do not behave like independent cuts in a flat list. Splitting at one pair can expose another, while a long series of pairwise separations or many parallel attachments creates a large family of equivalent recursive histories. The SPQR tree compresses that sprawl into one reduced object.

Abstract Reasoning

The primary reasoning move is separator localization. Given a question involving a vertex pair or a potential update, locate the skeletons in which the relevant vertices or their representatives occur and the path between those allocation regions in the SPQR tree. The global effect is then confined to a path or a small collection of skeletons rather than the whole graph. This is why the representation supports dynamic and on-line algorithms: changes can be expressed as local transformations of the component tree.

Knowledge Transfer

Within graph algorithms, the transfer is literal and strong. The same skeleton/virtual-edge tree is reused in planarity testing, dynamic triconnectivity, constrained embedding, and graph drawing. What changes is the state propagated through virtual edges: feasibility, embedding choices, bend counts, or update information. The decomposition and its two-pole interfaces remain the same.

Across mathematics and computer science more broadly, only a structural residue transfers: decompose an object at small interfaces, replace each hidden component by a boundary placeholder, organize components acyclically, and recover the whole by expansion.

Relationships to Other Abstractions

Local relationship map for SPQR TreeParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.SPQR TreeDOMAINDomain-specific abstraction: Tree (Data Structure) — is a kind ofTree (DataStructure)DOMAIN

Current abstraction SPQR Tree Domain-specific

Parents (1) — more general patterns this builds on

  • SPQR Tree is a kind of Tree (Data Structure) Domain-specific

    related because local skeleton computations can be combined through narrow interfaces, but modularity alone does not imply canonical triconnected decomposition.

Neighborhood in Abstraction Space

SPQR Tree sits in a sparse region of the domain-specific corpus (80th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Unclustered & Miscellaneous (1565 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-09-08