We present an optimal parallel randomized algorithm for the Voronoi diagram of a set of n nonintersecting (except possibly at endpoints) line segments in the plane. Our algorithm runs in O(log n) time with high probability using O(n) processors on a CRCW PRAM. This algorithm is optimal in terms of work done since the sequential time bound for this problem is (n log n). Our algorithm improves by an O(log n) factor the previously best known deterministic parallel algorithm, given by Goodrich,Ó'Dúnlaing, and Yap, which runs in O(log 2 n) time using O(n) processors. We obtain this result by using a new "two-stage" random sampling technique. By choosing large samples in the first stage of the algorithm, we avoid the hurdle of problem-size "blow-up" that is typical in recursive parallel geometric algorithms. We combine the two-stage sampling technique with efficient search and merge procedures to obtain an optimal algorithm. This technique gives an alternative optimal algorithm for the Voronoi diagram of points as well (all other optimal parallel algorithms for this problem use the transformation to three-dimensional half-space intersection).
Introduction.Voronoi diagrams are elegant and versatile geometric structures which have applications for a wide range of problems in computational geometry and other areas. For example, given the Voronoi diagram of a set of line segments, one can easily compute the minimum weight spanning tree of the segments, or the nearest neighbor of each line segment. Voronoi diagrams are, in general, very useful tools for solving various proximity problems efficiently. Certain two-dimensional motion planning problems can also be solved quickly when the Voronoi diagram is available [30]. (Surveys on Voronoi diagrams and their applications can be found in [7] and [16].) In a number of these applications, exploiting parallelism to obtain faster solutions is a desirable goal because real-time solutions are critical. In this paper we develop an optimal parallel randomized algorithm on a PRAM (Parallel Random Access Machine) for constructing the Voronoi diagram of a set of nonintersecting, except possibly at endpoints, line segments in the plane. The first sequential algorithm for this problem was given by Lee and Drysdale [24], which ran in O(n log 2 n) time. This run-time was later improved to O(n log n) in numerous papers [22], [35], [15], which is optimal since constructing the Voronoi diagram takes (n log n) time. (This follows from a simple reduction from sorting.) The