Path-Reporting Distance Oracles with Logarithmic Stretch and Size O(n log log n)

Michael Elkin, Idan Shabat

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


Given an n-vertex undirected graph G=(V, E, w) and a parameter k ≥ 1, a path-reporting distance oracle (or PRDO) is a data structure of size S(n, k), that given a query (u, v) ∈ V2, returns an f(k)-approximate shortest u-v path P in G within time q(k)+O(|P|). Here S(n, k), f(k) and q(k) are arbitrary (hopefully slowly-growing) functions. A distance oracle that only returns an approximate estimate d(u, v) of the distance d_G(u, v) between the queried vertices is called a nonpath-reporting distance oracle.A landmark PRDO due to Thorup and Zwick [56] has S(n, k)=O(k · n1+1k), f(k)=2 k-1 and q(k)=O(k). Wulff-Nilsen [59] devised an improved query algorithm for this oracle with q(k)=O(log k). The size of this oracle is Ω(n log n) for all k. Elkin and Pettie [30] devised a PRDO with S(n, k)=O(log k · n1+1k), f(k)=O(klog4/3 7) and q(k)=O(log k). Neiman and Shabat [46] recently devised an improved PRDO with S(n, k)=O(n1+1k), f(k)=O(klog4/3 4) and q(k)=O(log k). These oracles (of [30], [46]) can be much sparser than O(n log n) (the oracle of [46] can have linear size), but their stretch is polynomially larger than the optimal bound of 2 k-1. On the other hand, a long line of non-pathreporting distance oracles culminated in a celebrated result by Chechik [14], in which S(n, k)=O(n1+1k), f(k)=2 k-1 and q(k)=O(1).In this paper we make a dramatic progress in bridging the gap between path-reporting and non-path-reporting distance oracles. In particular, we devise a PRDO with size S(n, k)= O([k · log log nlog n] · n1+1k), stretch f(k)=O(k) and query time q(k)=O(log ⌈k · log log nlog n⌉). As ⌈k · log log nlog n⌉=O(log k) for k ≤ log n, its size is always at most O(log k · n1+1k), and its query time is O(log log k). Moreover, for k=O(log nlog log n), we have [k · log log nlog n]=O(1), i.e., S(n, k)=O(n1+1k), f(k)=O(k), and q(k)=O(1). For k=Θ(log n), our oracle has size O(n log log n), stretch O(log n) and query time O(log (3) n). We can also have linear size O(n), stretch O(log n · log log n) and query time O(log (3) n).These trade-offs exhibit polynomial improvement in stretch over the PRDOs of [30], [46]. For k=Ω(log nlog log n), our tradeoffs also strictly improve the long-standing bounds of [56], [59].Our results on PRDOs are based on novel constructions of approximate distance preservers, that we devise in this paper. Specifically, we show that for any ϵ gt 0, any k=1,2, ⋯, and any graph G=(V, E, w) and a collection P of p vertex pairs, there exists a (1+ϵ)-approximate preserver for G, P with O(γ(ϵ, k) · p+n log k+n1+1k) edges, where γ(ϵ, k)= (log kϵ)O(log k). These new preservers are significantly sparser than the previous state-of-the-art approximate preservers due to Kogan and Parter [41].

Original languageEnglish
Title of host publicationProceedings - 2023 IEEE 64th Annual Symposium on Foundations of Computer Science, FOCS 2023
PublisherInstitute of Electrical and Electronics Engineers
Number of pages34
ISBN (Electronic)9798350318944
StatePublished - 1 Jan 2023
Event64th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2023 - Santa Cruz, United States
Duration: 6 Nov 20239 Nov 2023

Publication series

NameProceedings - Annual IEEE Symposium on Foundations of Computer Science, FOCS
ISSN (Print)0272-5428


Conference64th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2023
Country/TerritoryUnited States
CitySanta Cruz


  • distance oracles
  • graph algorithms
  • shortest paths

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'Path-Reporting Distance Oracles with Logarithmic Stretch and Size O(n log log n)'. Together they form a unique fingerprint.

Cite this