All-Pairs Small-Stretch Paths

Edith Cohen*, Uri Zwick

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

66 Scopus citations


Let G = (V, E) be a weighted undirected graph. A path between u, v ∈ V is said to be of stretch t if its length is at most t times the distance between u and v in the graph. We consider the problem of finding small-stretch paths between all pairs of vertices in the graph G. It is easy to see that finding paths of stretch less than 2 between all pairs of vertices in an undirected graph with n vertices is at least as hard as the Boolean multiplication of two n × n matrices. We describe three algorithms for finding small-stretch paths between all pairs of vertices in a weighted graph with n vertices and m edges. The first algorithm, STRETCH2, runs in Õ(n3/2m1/2) time and finds stretch 2 paths. The second algorithm, STRETCH7/3, runs in Õ(n7/3) time and finds stretch 7/3 paths. Finally, the third algorithm, STRETCH3, runs in Õ(n2) and finds stretch 3 paths. Our algorithms are simpler, more efficient and more accurate than the previously best algorithms for finding small-stretch paths. Unlike all previous algorithms, our algorithms are not based on the construction of sparse spanners or sparse neigh-borhood covers.

Original languageEnglish
Pages (from-to)335-353
Number of pages19
JournalJournal of Algorithms
Issue number2
StatePublished - Feb 2001


FundersFunder number
Basic Research Foundation
Israel Academy of Sciences and Humanities


    Dive into the research topics of 'All-Pairs Small-Stretch Paths'. Together they form a unique fingerprint.

    Cite this