论文标题
子路的算法凸赫尔查询和射线射击段
Algorithms for Subpath Convex Hull Queries and Ray-Shooting Among Segments
论文作者
论文摘要
在本文中,我们首先考虑subpath hull查询问题:给定简单的路径$π$ $ n $顶点,预处理,以便可以快速获得任何查询$π$的查询子的凸壳。以前,Guibas,Hershberger和Snoeyink [Soda 90']提出了$ O(n)$ space的数据结构和$ o(\ log n \ log \ log \ log \ log n)$查询时间;将查询时间减少到$ O(\ log n)$将空间增加到$ O(n \ log \ log n)$。我们提出了一个改进的结果,该结果使用$ o(n)$空间,同时实现$ o(\ log n)$查询时间。像以前的工作一样,我们的查询算法返回一个紧凑的间隔树代表凸船体,以便可以在$ O(\ log n)$时间中执行船体上的标准基于二进制搜索的查询。我们的新结果导致了其他几个问题的改进。 特别是,在上述结果的帮助下,我们为细分市场之间的射线射击问题提供了新的算法。给定飞机上的一组$ n $(可能相交)线段的段,请进行预处理,以便可以快速找到被查询射线击中的第一段。我们给出$ O(n \ log n)$ space的数据结构,可以在$(\ sqrt {n} \ log n)$ time中回答每个查询。如果这些段是非电向的,或者段是线路,则可以将空间缩小为$ o(n)$。所有这些都是经过广泛研究的经典问题。先前$ \ widetilde {o}(\ sqrt {n})的数据结构在1990年代初就众所周知,$ query time(n note $ \ widetilde {o} $抑制了一个polygrogarithmic因子);二十年来几乎没有取得任何进展。对于所有问题,我们的结果通过将数据结构的空间减少至少一个对数因素来提供改进,而预处理和查询时间与以前相同或什至更好。
In this paper, we first consider the subpath convex hull query problem: Given a simple path $π$ of $n$ vertices, preprocess it so that the convex hull of any query subpath of $π$ can be quickly obtained. Previously, Guibas, Hershberger, and Snoeyink [SODA 90'] proposed a data structure of $O(n)$ space and $O(\log n\log\log n)$ query time; reducing the query time to $O(\log n)$ increases the space to $O(n\log\log n)$. We present an improved result that uses $O(n)$ space while achieving $O(\log n)$ query time. Like the previous work, our query algorithm returns a compact interval tree representing the convex hull so that standard binary-search-based queries on the hull can be performed in $O(\log n)$ time each. Our new result leads to improvements for several other problems. In particular, with the help of the above result, we present new algorithms for the ray-shooting problem among segments. Given a set of $n$ (possibly intersecting) line segments in the plane, preprocess it so that the first segment hit by a query ray can be quickly found. We give a data structure of $O(n\log n)$ space that can answer each query in $(\sqrt{n}\log n)$ time. If the segments are nonintersecting or if the segments are lines, then the space can be reduced to $O(n)$. All these are classical problems that have been studied extensively. Previously data structures of $\widetilde{O}(\sqrt{n})$ query time (the notation $\widetilde{O}$ suppresses a polylogarithmic factor) were known in early 1990s; nearly no progress has been made for over two decades. For all problems, our results provide improvements by reducing the space of the data structures by at least a logarithmic factor while the preprocessing and query times are the same as before or even better.