A Linear Time Implementation of SPQR-Trees

  • Carsten Gutwenger
  • Petra Mutzel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1984)


The data structure SPQR-tree represents the decomposition of a biconnected graph with respect to its triconnected components. SPQR-trees have been introduced by Di Battista and Tamassia [8] and, since then, became quite important in the field of graph algorithms. Theoretical papers using SPQR-trees claim that they can be implemented in linear time using a modification of the algorithm by Hopcroft and Tarjan [15] for decomposing a graph into its triconnected components. So far no correct linear time implementation of either triconnectivity decomposition or SPQR-trees is known to us. Here, we show the incorrectness of the Hopcroft and Tarjan algorithm [15], and correct the faulty parts. We describe the relationship between SPQR-trees and triconnected components and apply the resulting algorithm to the computation of SPQR-trees. Our implementation is publically available in AGD [1].


Planar Graph Palm Tree Adjacency List Split Graph Split Component 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [2]
    G. Di Battista and R. Tamassia. On-line graph algorithms with SPQR-trees. In M. S. Paterson, editor, Proc. of the 17th International Colloqium on Automata, Languages and Prog ramming (ICALP), volume 443 of Lecture Notes in Computer Science, pages 598–611. Springer-Verlag, 1990.Google Scholar
  2. [3]
    P. Bertolazzi, G. Di Battista, and W. Didimo. Computing orthogonal drawings with the minimum number of bends. In Proc. 5th Workshop Algorithms, Data Struct., volume 1272 of Lecture Notes in Computer Science, pages 331–344, 1998.Google Scholar
  3. [4]
    P. Bertolazzi, G. Di Battista, G. Liotta, and C. Mannino. Optimal upward planarity testing of single-source digraphs. SIAM J. Comput., 27(1):132–169, 1998.zbMATHCrossRefMathSciNetGoogle Scholar
  4. [5]
    D. Bienstock and C. L. Monma. On the complexity of embedding planar graphs to minimize certain distance measures. Algorithmica, 5(1):93–109, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  5. [6]
    Elias Dahlhaus. A linear time algorithm to recognize clustered planar graphs and its parallelization. In C. L. Lucchesi and A. V. Moura, editors, LATIN’ 98: Theoretical Informatics, Third Latin American Symposium, volume 1380 of Lecture Notes in Computer Science, pages 239–248. Springer-Verlag, 1998.Google Scholar
  6. [7]
    G. Di Battista, A. Garg, G. Liotta, R. Tamassia, and F. Vargiu. An experimental comparision of four graph drawing algorithms. Comput. Geom. Theory Appl., 7:303–326, 1997.zbMATHGoogle Scholar
  7. [8]
    G. Di Battista and R. Tamassia. Incremental planarity testing. In Proc. 30th IEEE Symp. on Foundations of Computer Science, pages 436–441, 1989.Google Scholar
  8. [9]
    G. Di Battista and R. Tamassia. On-line maintanance of triconnected components with SPQR-trees. Algorithmica, 15:302–318, 1996.zbMATHMathSciNetCrossRefGoogle Scholar
  9. [10]
    G. Di Battista and R. Tamassia. On-line planarity testing. SIAM J. Comput., 25(5):956–997, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  10. [11]
    W. Didimo. Dipartimento di Informatica e Automazione, Università di Roma Tre, Rome, Italy, Personal Communication.Google Scholar
  11. [13]
    C. Gutwenger and P. Mutzel. A linear time implementation of SPQR-trees. Technical report, Technische Universität Wien, 2000. To appear.Google Scholar
  12. [14]
    C. Gutwenger, P. Mutzel, and R. Weiskircher. Inserting an edge into a planar graph. In Proceedings of the Twelfth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA’ 01). ACM Press, 2001. To appear.Google Scholar
  13. [15]
    J. E. Hopcroft and R. E. Tarjan. Dividing a graph into triconnected components. SIAM J. Comput., 2(3):135–158, 1973.CrossRefMathSciNetGoogle Scholar
  14. [16]
    J. E. Hopcroft and R. E. Tarjan. Efficient planarity testing. Journal of the ACM, 21:549–568, 1974.zbMATHCrossRefMathSciNetGoogle Scholar
  15. [17]
    G. Kant. Drawing planar graphs using the canonical ordering. Algorithmica, Special Issue on Graph Drawing, 16(1):4–32, 1996.zbMATHMathSciNetGoogle Scholar
  16. [18]
    T. Lengauer. Hierarchical planarity testing. Journal of the ACM, 36:474–509, 1989.zbMATHCrossRefMathSciNetGoogle Scholar
  17. [19]
    S. MacLaine. A structural characterization of planar combinatorial graphs. Duke Math. J., 3:460–472, 1937.CrossRefMathSciNetGoogle Scholar
  18. [20]
    K. Mehlhorn and S. Näher. The LEDA Platform of Combinatorial and Geometric Computing. Cambridge University Press, 1999. to appear.Google Scholar
  19. [21]
    P. Mutzel and R. Weiskircher. Optimizing over all combinatorial embeddings of a planar graph. In G. Cornuéjols, R. Burkard, and G. Woeginger, editors, Proceedings of the Seventh Conference on Integer Programming and Combinatorial Optimization (IPCO), volume 1610 of LNCS, pages 361–376. Springer Verlag, 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Carsten Gutwenger
    • 1
  • Petra Mutzel
    • 2
  1. 1.Max-Planck-Institut für InformatikSaarbrückenGermany
  2. 2.Technische Universität WienAustria

Personalised recommendations