We present the first optimal randomized algorithm for constructing the order-$k$ Voronoi diagram of $n$ points in two dimensions. The expected running time is $O(n\log n + nk)$, which improves the previous, two-decades-old result of Ramos (SoCG'99) by a $2^{O(\log^*k)}$ factor. To obtain our result, we (i) use a recent decision-tree technique of Chan and Zheng (SODA'22) in combination with Ramos's cutting construction, to reduce the problem to verifying an order-$k$ Voronoi diagram, and (ii) solve the verification problem by a new divide-and-conquer algorithm using planar-graph separators. We also describe a deterministic algorithm for constructing the $k$-level of $n$ lines in two dimensions in $O(n\log n + nk^{1/3})$ time, and constructing the $k$-level of $n$ planes in three dimensions in $O(n\log n + nk^{3/2})$ time. These time bounds (ignoring the $n\log n$ term) match the current best upper bounds on the combinatorial complexity of the $k$-level. Previously, the same time bound in two dimensions was obtained by Chan (1999) but with randomization.
翻译:本文提出了首个用于二维平面上$n$个点构建$k$阶Voronoi图的最优随机化算法。期望运行时间为$O(n\log n + nk)$,比Ramos(SoCG'99)二十年前的结果提升了$2^{O(\log^*k)}$因子。为实现该结果,我们(i)采用Chan与Zheng(SODA'22)最新的决策树技术,结合Ramos的切割构造法,将问题简化为验证$k$阶Voronoi图;(ii)通过一种基于平面图分隔器的新型分治算法解决验证问题。我们还描述了二维空间中$n$条直线的$k$层结构确定性算法($O(n\log n + nk^{1/3})$时间)与三维空间中$n$个平面的$k$层结构确定性算法($O(n\log n + nk^{3/2})$时间)。这些时间界(忽略$n\log n$项)与当前$k$层组合复杂度的最佳上界一致。此前二维空间中的相同时间界由Chan(1999)实现,但使用了随机化方法。