We consider the planar dynamic convex hull problem. In the literature, solutions exist supporting the insertion and deletion of points in poly-logarithmic time and various queries on the convex hull of the current set of points in logarithmic time. If arbitrary insertion and deletion of points are allowed, constant time updates and fast queries are known to be impossible. This paper considers two restricted cases where worst-case constant time updates and logarithmic time queries are possible. We assume all updates are performed on a deque (double-ended queue) of points. The first case considers the monotonic path case, where all points are sorted in a given direction, say horizontally left-to-right, and only the leftmost and rightmost points can be inserted and deleted. The second case assumes that the points in the deque constitute a simple path. Note that the monotone case is a special case of the simple path case. For both cases, we present solutions supporting deque insertions and deletions in worst-case constant time and standard queries on the convex hull of the points in $O(\log n)$ time, where $n$ is the number of points in the current point set. The convex hull of the current point set can be reported in $O(h+\log n)$ time, where $h$ is the number of edges of the convex hull. For the 1-sided monotone path case, where updates are only allowed on one side, the reporting time can be reduced to $O(h)$, and queries on the convex hull are supported in $O(\log h)$ time. All our time bounds are worst case. In addition, we prove lower bounds that match these time bounds, and thus our results are optimal. For a quick comparison, the previous best update bounds for the simple path problem were amortized $O(\log n)$ time by Friedman, Hershberger, and Snoeyink [SoCG 1989].
翻译:本文研究平面动态凸包问题。现有文献中已有解决方案支持在亚对数时间内插入和删除点,并能在对数时间内对当前点集的凸包进行各类查询。若允许任意点插入和删除,已知无法实现常数时间更新与快速查询。本文考虑两种受限情形,在这些情形下可实现最坏情况常数时间更新与对数时间查询。我们假设所有更新操作均在点的双端队列上进行。第一种情形考虑单调路径情况,即所有点按给定方向(如水平从左到右)排序,仅最左端与最右端的点可被插入或删除。第二种情形假设双端队列中的点构成一条简单路径。需注意单调情况实为简单路径情形的特例。针对这两种情形,我们提出的方案支持双端队列插入与删除操作在最坏情况常数时间内完成,并可在$O(\log n)$时间内对当前点集的凸包进行标准查询(其中$n$为当前点集点数)。当前点集的完整凸包可在$O(h+\log n)$时间内输出($h$为凸包边数)。对于仅允许单侧更新的单侧单调路径情形,输出时间可降至$O(h)$,且凸包查询可在$O(\log h)$时间内完成。所有时间界均为最坏情况。此外,我们证明了与这些时间界匹配的下界,表明我们的结果具有最优性。作为对比,Friedman、Hershberger与Snoeyink[SoCG 1989]此前针对简单路径问题的最佳更新界为摊还$O(\log n)$时间。