A Faster Computation of All the Best Swap Edges of a Shortest Paths Tree

  • Davide Bilò
  • Luciano Gualà
  • Guido Proietti
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8125)


We consider a 2-edge connected, non-negatively weighted graph G, with n nodes and m edges, and a single-source shortest paths tree (SPT) of G rooted at an arbitrary node. If an edge of the SPT is temporarily removed, a widely recognized approach to reconnect the nodes disconnected from the root consists of joining the two resulting subtrees by means of a single non-tree edge, called a swap edge. This allows to reduce consistently the set-up and computational costs which are incurred if we instead rebuild a new optimal SPT from scratch. In the past, several optimality criteria have been considered to select a best possible swap edge, and here we restrict our attention to arguably the two most significant measures: the minimization of either the maximum or the average distance between the root and the disconnected nodes. For the former criteria, we present an O(m logα(m,n)) time algorithm to find a best swap edge for every edge of the SPT, thus improving onto the previous O(m logn) time algorithm (B. Gfeller, ESA’08). Concerning the latter criteria, we provide an O(m + n logn) time algorithm for the special but important case where G is unweighted, which compares favorably with the \(O\big(m+n \, \alpha(n,n)\log^2n\big)\) time bound that one would get by using the fastest algorithm known for the weighted case – once this is suitably adapted to the unweighted case.


Span Tree Time Algorithm Minimum Span Tree Tree Edge Short Path Tree 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ackermann, W.: Zum hilbertschen aufbau der reellen zahlen. Mathematical Annals 99, 118–133 (1928)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Bilò, D., Gualà, L., Proietti, G.: Finding best swap edges minimizing the routing cost of a spanning tree. In: Hliněný, P., Kučera, A. (eds.) MFCS 2010. LNCS, vol. 6281, pp. 138–149. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    Brodal, G.S., Jacob, R.: Dynamic planar convex hull. In: Proc. of the 43rd Symp. on Foundations of Computer Science (FOCS 2002), pp. 617–626. IEEE Comp. Soc. (2002)Google Scholar
  4. 4.
    Di Salvo, A., Proietti, G.: Swapping a failing edge of a shortest paths tree by minimizing the average stretch factor. Theor. Comp. Science 383(1), 23–33 (2007)zbMATHCrossRefGoogle Scholar
  5. 5.
    Gualà, L., Proietti, G.: Exact and approximate truthful mechanisms for the shortest-paths tree problem. Algorithmica 49(3), 171–191 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Harel, D., Tarjan, R.E.: Fast algorithms for finding nearest common ancestors. SIAM Journal on Computing 13(2), 338–355 (1984)MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Fredman, M.L., Tarjan, R.E.: Fibonacci heaps and their uses in improved network optimization algorithms. Journal of the ACM 34(3), 596–615 (1987)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Gfeller, B.: Faster swap edge computation in minimum diameter spanning trees. Algorithmica 62(1-2), 169–191 (2012)MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Italiano, G.F., Ramaswami, R.: Maintaining spanning trees of small diameter. Algorithmica 22(3), 275–304 (1998)MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    Ito, H., Iwama, K., Okabe, Y., Yoshihiro, T.: Polynomial-time computable backup tables for shortest-path routing. In: Proc. of the 10th Int. Coll. on Structural Information and Communication Complexity (SIROCCO 2003). Proceedings in Informatics, Carleton Scientific, vol. 17, pp. 163–177 (2003)Google Scholar
  11. 11.
    Nardelli, E., Proietti, G., Widmayer, P.: How to swap a failing edge of a single source shortest paths tree. In: Asano, T., Imai, H., Lee, D.T., Nakano, S.-i., Tokuyama, T. (eds.) COCOON 1999. LNCS, vol. 1627, pp. 144–153. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  12. 12.
    Nardelli, E., Proietti, G., Widmayer, P.: Finding all the best swaps of a minimum diameter spanning tree under transient edge failures. Journal of Graph Algorithms and Applications 5(5), 39–57 (2001)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Nardelli, E., Proietti, G., Widmayer, P.: Swapping a failing edge of a single source shortest paths tree is good and fast. Algorithmica 36(4), 361–374 (2003)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Pettie, S.: Sensitivity analysis of minimum spanning trees in sub-inverse-Ackermann time. In: Deng, X., Du, D.-Z. (eds.) ISAAC 2005. LNCS, vol. 3827, pp. 964–973. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Proietti, G.: Dynamic maintenance versus swapping: an experimental study on shortest paths trees. In: Näher, S., Wagner, D. (eds.) WAE 2000. LNCS, vol. 1982, pp. 207–217. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  16. 16.
    Wu, B.Y., Hsiao, C.-Y., Chao, K.-M.: The swap edges of a multiple-sources routing tree. Algorithmica 50(3), 299–311 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  17. 17.
    Tarjan, R.E.: Sensitivity analysis of minimum spanning trees and shortest path trees. Inf. Process. Lett. 14(1), 30–33 (1982)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Davide Bilò
    • 1
  • Luciano Gualà
    • 2
  • Guido Proietti
    • 3
    • 4
  1. 1.Dipartimento di Scienze Umanistiche e SocialiUniversity of SassariItaly
  2. 2.Dipartimento di Ingegneria dell’ImpresaUniversity of Rome “Tor Vergata”Italy
  3. 3.Dip. di Ingegneria e Scienze dell’Informazione e MatematicaUniv. of L’AquilaItaly
  4. 4.Istituto di Analisi dei Sistemi ed InformaticaCNRRomeItaly

Personalised recommendations