TOPICS
Search

SPQR Tree


An SPQR tree is a tree data structure that represents the decomposition of a biconnected graph into its triconnected components along vertex cuts of size 2. Each graph vertex of the tree has an associated multigraph, called its skeleton, and has one of four types.

typeskeleton
Sa cycle graph with at least three vertices
Pa dipole graph with at least three multiple edges
Qa single real edge
Ra graph with vertex connectivity at least 3 that is neither a cycle graph nor a dipole graph

The letters S, P, and R stand for series, parallel, and rigid, respectively, while Q-nodes represent individual graph edges. Some definitions omit Q-nodes. The skeleton edges corresponding to edges of the original graph are called real edges. Every graph edge of the SPQR tree corresponds to a pair of virtual edges, one in each of the two incident skeletons. The two virtual edges have the same pair of endpoints, called poles. Replacing paired virtual edges by the corresponding pertinent graphs reconstructs the original graph.

After each graph edge between two S-nodes or between two P-nodes is contracted, the resulting reduced SPQR tree is unique up to graph isomorphism. Rooted variants depend on the choice of a graph edge as root, and conventions differ in their treatment of Q-nodes. The SPQR tree has linear total size and can be constructed in O(|V(G)|+|E(G)|) time (Hopcroft and Tarjan 1973, Gutwenger and Mutzel 2001).

For a graph that is both a planar graph and a biconnected graph, the SPQR tree compactly represents all planar embeddings. The skeleton of an R-node has two possible oriented embeddings, related by reflection, while the multiple edges in a P-node skeleton can be arranged by arbitrary cyclic permutations. S- and Q-node skeletons introduce no choices. Consequently, if the graph edges are labeled and reflection is distinguished, the number of rotation systems defining planar embeddings is

 N_(rot)(G)=2^rproduct_(mu in P)(k_mu-1)!,

where r is the number of R-nodes, P is the set of P-nodes, and k_mu is the number of edges in the skeleton of P-node mu. Here the exclamation point denotes the factorial. This formula does not identify rotation systems related by a graph automorphism or by a global reflection (Di Battista and Tamassia 1996).

For a connected graph that is not a biconnected graph, a block-cut tree first decomposes the graph into blocks, after which an SPQR tree can be constructed for each nontrivial block that is a biconnected graph.


See also

Adjacent Vertices, Biconnected Graph, Block-Cut Tree, Cyclic Permutation, Data Structure, Dipole Graph, Factorial, Graph Automorphism, Graph Edge, Graph Isomorphism, Multiple Edge, Planar Embedding, Planar Graph, Reflection, Rotation System, Tree, Vertex Connectivity, Vertex Cut

Explore with Wolfram|Alpha

References

Di Battista, G. and Tamassia, R. "On-Line Maintenance of Triconnected Components with SPQR-Trees." Algorithmica 15, 302-318, 1996. https://doi.org/10.1007/BF01961541.Gutwenger, C. and Mutzel, P. "A Linear Time Implementation of SPQR-Trees." In Graph Drawing: 8th International Symposium, GD 2000 (Ed. J. Marks). Berlin, Germany: Springer-Verlag, pp. 77-90, 2001. https://doi.org/10.1007/3-540-44541-2_8.Hopcroft, J. E. and Tarjan, R. E. "Dividing a Graph into Triconnected Components." SIAM J. Comput. 2, 135-158, 1973. https://doi.org/10.1137/0202012.

Cite this as:

Weisstein, Eric W. "SPQR Tree." From MathWorld--A Wolfram Resource. https://mathworld.wolfram.com/SPQRTree.html

Subject classifications