Abstract

Let P\mathcal{P} be a set of hh pairwise-disjoint polygonal obstacles with a total of nn vertices in the plane. We consider the problem of building a data structure that can quickly compute an L1L_1 shortest obstacle-avoiding path between any two query points ss and tt. Previously, a data structure of size O(n2log⁡n)O(n^2\log n) was constructed in O(n2log⁡2n)O(n^2\log^2 n) time that answers each two-point query in O(log⁡2n+k)O(\log^2 n+k) time, i.e., the shortest path length is reported in O(log⁡2n)O(\log^2 n) time and an actual path is reported in additional O(k)O(k) time, where kk is the number of edges of the output path. In this paper, we build a new data structure of size O(n+h2⋅log⁡h⋅4log⁡h)O(n+h^2\cdot \log h \cdot 4^{\sqrt{\log h}}) in O(n+h2⋅log⁡2h⋅4log⁡h)O(n+h^2\cdot \log^{2} h \cdot 4^{\sqrt{\log h}}) time that answers each query in O(log⁡n+k)O(\log n+k) time. Note that n+h2⋅log⁡2h⋅4log⁡h=O(n+h2+ε)n+h^2\cdot \log^{2} h \cdot 4^{\sqrt{\log h}}=O(n+h^{2+ε}) for any constant ε>0ε>0. Further, we extend our techniques to the weighted rectilinear version in which the "obstacles" of P\mathcal{P} are rectilinear regions with "weights" and allow L1L_1 paths to travel through them with weighted costs. Our algorithm answers each query in O(log⁡n+k)O(\log n+k) time with a data structure of size O(n2⋅log⁡n⋅4log⁡n)O(n^2\cdot \log n\cdot 4^{\sqrt{\log n}}) that is built in O(n2⋅log⁡2n⋅4log⁡n)O(n^2\cdot \log^{2} n\cdot 4^{\sqrt{\log n}}) time (note that n2⋅log⁡2n⋅4log⁡n=O(n2+ε)n^2\cdot \log^{2} n\cdot 4^{\sqrt{\log n}}= O(n^{2+ε}) for any constant ε>0ε>0).

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.