English

Shortest Paths Among Obstacles in the Plane Revisited

Computational Geometry 2021-06-01 v2 Data Structures and Algorithms

Abstract

Given a set of pairwise disjoint polygonal obstacles in the plane, finding an obstacle-avoiding Euclidean shortest path between two points is a classical problem in computational geometry and has been studied extensively. The previous best algorithm was given by Hershberger and Suri [FOCS 1993, SIAM J. Comput. 1999] and the algorithm runs in O(nlogn)O(n\log n) time and O(nlogn)O(n\log n) space, where nn is the total number of vertices of all obstacles. The algorithm is time-optimal because Ω(nlogn)\Omega(n\log n) is a lower bound. It has been an open problem for over two decades whether the space can be reduced to O(n)O(n). In this paper, we settle it by solving the problem in O(nlogn)O(n\log n) time and O(n)O(n) space, which is optimal in both time and space; we achieve this by modifying the algorithm of Hershberger and Suri. Like their original algorithm, our new algorithm can build a shortest path map for a source point ss in O(nlogn)O(n\log n) time and O(n)O(n) space, such that given any query point tt, the length of a shortest path from ss to tt can be computed in O(logn)O(\log n) time and a shortest path can be produced in additional time linear in the number of edges of the path.

Keywords

Cite

@article{arxiv.2010.09115,
  title  = {Shortest Paths Among Obstacles in the Plane Revisited},
  author = {Haitao Wang},
  journal= {arXiv preprint arXiv:2010.09115},
  year   = {2021}
}

Comments

Published in SODA 2021. Observation 2 in the previous version (and also in SODA proceedings) is not correct. The issue is addressed in this version with slightly different analysis

R2 v1 2026-06-23T19:26:07.527Z