Efficient Algorithms for Listing k Disjoint st-Paths in Graphs

  • Roberto GrossiEmail author
  • Andrea MarinoEmail author
  • Luca VersariEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10807)


Given a connected graph G of m edges and n vertices, we consider the basic problem of listing all the choices of k vertex-disjoint st-paths, for any two input vertices st of G and a positive integer k. Our algorithm takes O(m) time per solution, using O(m) space and requiring \(O(F_k(G))\) setup time, where \(F_k(G) = O(m \min \{k, n^{2/3} \log n, \sqrt{m} \log n\} )\) is the cost of running a max-flow algorithm on G to compute a flow of size k. The proposed techniques are simple and apply to other related listing problems discussed in the paper.


  1. 1.
    Birmelé, E., Crescenzi, P., Ferreira, R., Grossi, R., Lacroix, V., Marino, A., Pisanti, N., Sacomoto, G., Sagot, M.-F.: Efficient bubble enumeration in directed graphs. In: Calderón-Benavides, L., González-Caro, C., Chávez, E., Ziviani, N. (eds.) SPIRE 2012. LNCS, vol. 7608, pp. 118–129. Springer, Heidelberg (2012). CrossRefGoogle Scholar
  2. 2.
    Birmelé, E., Ferreira, R.A., Grossi, R., Marino, A., Pisanti, N., Rizzi, R., Sacomoto, G.: Optimal listing of cycles and st-paths in undirected graphs. In: Proceedings of the SODA, pp. 1884–1896 (2013)Google Scholar
  3. 3.
    Eilam-Tzoreff, T.: The disjoint shortest paths problem. Discrete Appl. Math. 85(2), 113–138 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Eppstein, D.: \(k\)-best enumeration. In: Kao, M.Y. (ed.) Encyclopedia of Algorithms, pp. 1003–1006. Springer, Heidelberg (2016). CrossRefGoogle Scholar
  5. 5.
    Fortune, S., Hopcroft, J., Wyllie, J.: The directed subgraph homeomorphism problem. Theor. Comput. Sci. 10(2), 111–121 (1980)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Goldberg, A.V., Rao, S.: Beyond the flow decomposition barrier. J. ACM (JACM) 45(5), 783–797 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Johnson, D.B.: Finding all the elementary circuits of a directed graph. SIAM J. Comput. 4(1), 77–84 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Johnson, D.B.: Efficient algorithms for shortest paths in sparse networks. J. ACM 24(1), 1–13 (1977)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Karp, R.M.: On the computational complexity of combinatorial problems. Networks 5(1), 45–68 (1975)CrossRefzbMATHGoogle Scholar
  10. 10.
    Kawarabayashi, K., Kobayashi, Y., Reed, B.: The disjoint paths problem in quadratic time. J. Comb. Theory Ser. B 102(2), 424–435 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Li, C.-L., McCormick, S.T., Simchi-Levi, D.: The complexity of finding two disjoint paths with min-max objective function. Discrete Appl. Math. 26(1), 105–115 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Menger, K.: Zur allgemeinen kurventheorie. Fundam. Math. 10(1), 96–115 (1927)CrossRefzbMATHGoogle Scholar
  13. 13.
    Read, R.C., Tarjan, R.E.: Bounds on backtrack algorithms for listing cycles, paths, and spanning trees. Networks 5(3), 237–252 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Rizzi, R., Sacomoto, G., Sagot, M.-F.: Efficiently listing bounded length st-paths. In: Jan, K., Miller, M., Froncek, D. (eds.) IWOCA 2014. LNCS, vol. 8986, pp. 318–329. Springer, Cham (2015). CrossRefGoogle Scholar
  15. 15.
    Sacomoto, G., Lacroix, V., Sagot, M.-F.: A polynomial delay algorithm for the enumeration of bubbles with length constraints in directed graphs and its application to the detection of alternative splicing in RNA-seq data. In: Darling, A., Stoye, J. (eds.) WABI 2013. LNCS, vol. 8126, pp. 99–111. Springer, Heidelberg (2013). CrossRefGoogle Scholar
  16. 16.
    Schrijver, A.: Combinatorial optimization: polyhedra and efficiency. Springer Science & Business Media, Heidelberg (2003)zbMATHGoogle Scholar
  17. 17.
    Tarjan, R.: Enumeration of the elementary circuits of a directed graph. SIAM J. Comput. 2(3), 211–216 (1973)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Tiernan, J.C.: An efficient search algorithm to find the elementary circuits of a graph. Commun. ACM 13, 722–726 (1970)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Università di PisaPisaItaly

Personalised recommendations