Abstract
We present faster algorithms for computing the 2-edge and 2-vertex strongly connected components of a directed graph. While in undirected graphs the 2-edge and 2-vertex connected components can be found in linear time, in directed graphs with m edges and n vertices only rather simple O(m n)-time algorithms were known. We use a hierarchical sparsification technique to obtain algorithms that run in time \(O(n^2)\). For 2-edge strongly connected components our algorithm gives the first running time improvement in 20 years. Additionally we present an \(O(m^2 /\log n)\)-time algorithm for 2-edge strongly connected components, and thus improve over the O(m n) running time also when \(m = O(n)\). Our approach extends to k-edge and k-vertex strongly connected components for any constant k with a running time of \(O(n^2 \log n)\) for k-edge-connectivity and \(O(n^3)\) for k-vertex-connectivity.
Full version available at http://arxiv.org/abs/1412.6466
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bang-Jensen, J., Gutin, G.: Digraphs: Theory, algorithms and applications. Springer Monographs in Mathematics, 2nd edn. Springer, London (2009)
Bondy, J.A., Murty, U.S.R.: Graph Theory with Applications. Macmillan, London (1976)
Buchsbaum, A.L., Georgiadis, L., Kaplan, H., Rogers, A., Tarjan, R.E., Westbrook, J.R.: Linear-time algorithms for dominators and other path-evaluation problems. SIAM J. Comput. 38(4), 1533–1573 (2008)
Chatterjee, K., Henzinger, M.: Efficient and Dynamic Algorithms for Alternating Büchi Games and Maximal End-component Decomposition. J. ACM 61(3), 15:1–15:40 (2014). Announced at SODA 2011 and SODA 2012
Chatterjee, K., Henzinger, M., Loitzenbauer, V.: Improved algorithms for one-pair and \(k\)-pair Streett objectives. In: LICS (2015, to appear)
Chatterjee, K., Jurdziński, M., Henzinger, T.A.: Simple stochastic parity games. In: Baaz, M., Makowsky, J.A. (eds.) CSL 2003. LNCS, vol. 2803, pp. 100–113. Springer, Heidelberg (2003)
Even, S.: An Algorithm for Determining Whether the Connectivity of a Graph is at Least \(k\). SIAM J. Comput. 4(3), 393–396 (1975)
Gabow, H.N.: A matroid approach to finding edge connectivity and packing arborescences. J. Comput. Syst. Sci. 50(2), 259–273 (1995). Announced at STOC 1991
Gabow, H.N.: Using expander graphs to find vertex connectivity. J. ACM 53(5), 800–844 (2006). Announced at FOCS 2000
Gabow, H.N., Tarjan, R.E.: A linear-time algorithm for a special case of disjoint set union. In: STOC, pp. 246–251 (1983)
Galil, Z.: Finding the vertex connectivity of graphs. SIAM J. Comput. 9(1), 197–199 (1980)
Galil, Z., Italiano, G.F.: Reducing edge connectivity to vertex connectivity. ACM SIGACT News 22(1), 57–61 (1991)
Georgiadis, L.: Testing 2-vertex connectivity and computing pairs of vertex-disjoint s-t paths in digraphs. In: Abramsky, S., Gavoille, C., Kirchner, C., Meyer auf der Heide, F., Spirakis, P.G. (eds.) ICALP 2010. LNCS, vol. 6198, pp. 738–749. Springer, Heidelberg (2010)
Georgiadis, L., Italiano, G.F., Laura, L., Parotsidis, N.: 2-Edge connectivity in directed graphs. In: SODA, pp. 1988–2005 (2015)
Georgiadis, L., Italiano, G.F., Laura, L., Parotsidis, N.: 2-Vertex connectivity in directed graphs. In: ICALP (2015). arXiv: 1409.6277 (to appear)
Georgiadis, L., Tarjan, R.E.: Finding dominators revisited. In: SODA, pp. 862–871 (2004)
Henzinger, M., King, V., Warnow, T.: Constructing a Tree from Homeomorphic Subtrees, with Applications to Computational Evolutionary Biology. Algorithmica 24(1), 1–13 (1999). Announced at SODA 1996
Henzinger, M.R., Rao, S., Gabow, H.N.: Computing Vertex Connectivity: New Bounds from Old Techniques. Journal of Algorithms 34(2), 222–250 (2000). Announced at FOCS 1996
Hopcroft, J.E., Tarjan, R.E.: Dividing a graph into triconnected components. SIAM J. Comput. 2(3), 135–158 (1973)
Italiano, G.F., Laura, L., Santaroni, F.: Finding strong bridges and strong articulation points in linear time. Theor. Comput. Sci. 447, 74–84 (2012)
Jaberi, R.: On computing the 2-vertex-connected components of directed graphs, January 2014. http://arxiv.org/abs/1401.6000v1
Makino, S.: An algorithm for finding all the \(k\)-components of a digraph. International Journal of Computer Mathematics 24(3–4), 213–221 (1988)
Nagamochi, H., Ibaraki, T.: A linear-time algorithm for finding a sparse \(k\)-connected spanning subgraph of a \(k\)-connected graph. Algorithmica, 583–596 (1992)
Nagamochi, H., Ibaraki, T.: Algorithmic aspects of graph connectivity. Cambridge University Press, New York (2008)
Nagamochi, H., Watanabe, T.: Computing \(k\)-edge-connected components of a multigraph. IEICE TRANSACTIONS on Fundamentals of Electronics, Communications and Computer Sciences E76–A(4), 513–517 (1993)
Newman, M.E.J.: Networks: An Introduction. Oxford University Press (2010)
Tarjan, R.E.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1(2), 146–160 (1972)
Tarjan, R.E.: Edge-disjoint spanning trees and depth-first search. Acta Inf. 6(2), 171–185 (1976)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Henzinger, M., Krinninger, S., Loitzenbauer, V. (2015). Finding 2-Edge and 2-Vertex Strongly Connected Components in Quadratic Time. In: Halldórsson, M., Iwama, K., Kobayashi, N., Speckmann, B. (eds) Automata, Languages, and Programming. ICALP 2015. Lecture Notes in Computer Science(), vol 9134. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-47672-7_58
Download citation
DOI: https://doi.org/10.1007/978-3-662-47672-7_58
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-47671-0
Online ISBN: 978-3-662-47672-7
eBook Packages: Computer ScienceComputer Science (R0)