Bahareh Banyassady,
Matias Korman,
Wolfgang Mulzer,
André van Renssen,
Marcel Roeloffzen,
Paul Seiferth, and
Yannik Stein
Improved Time-Space Trade-offs for Computing Voronoi Diagrams
Proceedings of the 34th International Symposium on Theoretical Aspects of Computer Science (STACS), Hannover, Germany, 2017
Abstract
Let P be a planar n-point set in general position. For k in {1, . . . , n − 1}, the Voronoi diagram of order k is obtained by subdividing the plane into regions such that points in the same cell have the same set of nearest k neighbors in P. The (nearest point) Voronoi diagram (NVD) and the farthest point Voronoi diagram (FVD) are the particular cases of k = 1 and k = n − 1, respectively. It is known that the family of all higher-order Voronoi diagrams of order 1 to K for P can be computed in total time O(nK^2 + n log n) using O(K^2(n − K)) space. Also NVD and FVD can be computed in O(n log(n)) time using O(n) space.
For s in {1, . . . , n}, an s-workspace algorithm has random access to a read-only array with the sites of P in arbitrary order. Additionally, the algorithm may use O(s) words of Theta(log (n)) bits each for reading and writing intermediate data. The output can be written only once and cannot be accessed afterwards.
We describe a deterministic s-workspace algorithm for computing an NVD and also an FVD for P that runs in O((n^2/s) log(s)) time. Moreover, we generalize our s-workspace algorithm for computing the family of all higher-order Voronoi diagrams of P up to order k = O(sqrt(s)) in total time O((n^2k^6/s)*log^(1+eps)(K)(log(s)/log(K))^O(1), for any fixed eps > 0. Previously, for Voronoi diagrams, the only known s-workspace algorithm was to find an NVD for P in expected time O((n^2/s) log(s) + n log s log^*(s)). Unlike the previous algorithm, our new method is very simple and does not rely on advanced data structures or random sampling techniques.