A New Algorithm for Euclidean Shortest Paths in the Plane

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. Previously, Hershberger and Suri [SIAM J. Comput. 1999] gave an algorithm of O(n n) time and O(n n) space, where n is the total number of vertices of all obstacles. Recently, by modifying Hershberger and Suri's algorithm, Wang [SODA 2021] reduced the space to O(n) while the runtime of the algorithm is still O(n n). In this paper, we present a new algorithm of O(n+h h) time and O(n) space, provided that a triangulation of the free space is given, where h is the number of obstacles. The algorithm, which improves the previous work when h=o(n), is optimal in both time and space as (n+h h) is a lower bound on the runtime. Our algorithm builds a shortest path map for a source point s, so that given any query point t, the shortest path length from s to t can be computed in O( n) time and a shortest s-t path can be produced in additional time linear in the number of edges of the path.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…