Abstract

Let G = (V, E) be an unweighted undirected graph on n vertices and m edges. For a fixed pair of real values α ≥ 1, β ≥ 0, an (α, β) distance oracle of G is a space-efficient data structure that answers, in constant time, for any pair of vertices u,v ∊ V a distance estimate within the range of [dist(u, v), α·dist(u, v) + β]; here dist denotes distances in the graph G. Two main concerns in designing distance oracles are the approximation ratio (the stretch) and the construction time. A classical result was given in [Baswana, Goyaland and Sen 2005] which builds a (2, 3) distance oracle with Õ(n5/3) space in Õ(n2) time. Recently, [Akav and Roditty, 2020] broke the quadratic running time at the expense of increasing the stretch. More specifically, they obtained an algorithm that constructs a (2 + ∊, 5) distance oracle with space Õ(n11/6) in O(m + n2–Ω(∊)) time for any constant ∊ ∊ (0, 1/2). In this paper, we show that one can beat the quadratic running time without compromising on the stretch. More specifically, our algorithm constructs, with high probability, a (2, 3) distance oracle with Õ(n5/3) space in Õ(m+n1.987) time. As a secondary extension, we could further reduce the preprocessing time to Õ(m+n7/4+∊) by tolerating a (2, O(1/∊)) stretch, for any constant ∊ > 0. Finally, this preprocessing time could be pushed even further to Õ(m + n5/3+∊) if we allow a stretch of (2 + ∊, c), where c = c(∊) is a constant depending exponentially on 1/∊.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call