We consider a two-edge connected, non-negatively real-weighted graph G with n vertices and m edges, and a single-source shortest paths tree (SPT) of G rooted at an arbitrary vertex. If an edge of the SPT is temporarily removed, a widely recognized approach to reconnect the vertices 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 one instead rebuilds 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 vertices. For the former criteria, we present an O(mlogα(m,n)) time algorithm—where α is the inverse of the Ackermann function—to find a best swap edge for every edge of the SPT, thus improving onto the previous O(mlogn) time algorithm. Concerning the latter criteria, we provide an O(m+nlogn) time algorithm for the special but important case where G is unweighted, which compares favourably with the O(m+nα(n,n)log2n) 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.

A faster computation of all the best swap edges of a shortest paths tree / Bilò, Davide; Gualà, Luciano; Proietti, Guido. - In: ALGORITHMICA. - ISSN 0178-4617. - 73:3(2015), pp. 547-570. [10.1007/s00453-014-9912-6]

A faster computation of all the best swap edges of a shortest paths tree

BILÒ, Davide;
2015-01-01

Abstract

We consider a two-edge connected, non-negatively real-weighted graph G with n vertices and m edges, and a single-source shortest paths tree (SPT) of G rooted at an arbitrary vertex. If an edge of the SPT is temporarily removed, a widely recognized approach to reconnect the vertices 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 one instead rebuilds 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 vertices. For the former criteria, we present an O(mlogα(m,n)) time algorithm—where α is the inverse of the Ackermann function—to find a best swap edge for every edge of the SPT, thus improving onto the previous O(mlogn) time algorithm. Concerning the latter criteria, we provide an O(m+nlogn) time algorithm for the special but important case where G is unweighted, which compares favourably with the O(m+nα(n,n)log2n) 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.
2015
A faster computation of all the best swap edges of a shortest paths tree / Bilò, Davide; Gualà, Luciano; Proietti, Guido. - In: ALGORITHMICA. - ISSN 0178-4617. - 73:3(2015), pp. 547-570. [10.1007/s00453-014-9912-6]
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11388/59746
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 8
  • ???jsp.display-item.citation.isi??? 3
social impact