Our aim is to develop dynamic data structures that support $k$-nearest neighbors ($k$-NN) queries for a set of $n$ point sites in $O(f(n) + k)$ time, where $f(n)$ is some polylogarithmic function of $n$. The key component is a general query algorithm that allows us to find the $k$-NN spread over $t$ substructures simultaneously, thus reducing a $O(tk)$ term in the query time to $O(k)$. Combining this technique with the logarithmic method allows us to turn any static $k$-NN data structure into a data structure supporting both efficient insertions and queries. For the fully dynamic case, this technique allows us to recover the deterministic, worst-case, $O(\log^2n/\log\log n +k)$ query time for the Euclidean distance claimed before, while preserving the polylogarithmic update times. We adapt this data structure to also support fully dynamic \emph{geodesic} $k$-NN queries among a set of sites in a simple polygon. For this purpose, we design a shallow cutting based, deletion-only $k$-NN data structure. More generally, we obtain a dynamic $k$-NN data structure for any type of distance functions for which we can build vertical shallow cuttings. We apply all of our methods in the plane for the Euclidean distance, the geodesic distance, and general, constant-complexity, algebraic distance functions.
翻译:我们的目标是开发动态数据结构, 支持以美元为最近邻居( k$- NN) 查询一套以美元( f( n) + k) 计时的美元点站点, 美元( n) 是某种美元( $) 的多元对数函数 。 关键组件是一个一般查询算法, 使我们能够同时在$t( $) 的亚结构中找到 $( tk) 分散的 美元- NN, 从而将查询时间中的美元( tk) 减为 $( k) 。 将这一技术与对数方法相结合, 使我们能够将任何固定的 $( ) clecal- NN 数据结构转换成一个支持高效插入和查询的数据结构 。 对于完全动态的情况, 这个技术让我们恢复最坏的确定性( $( log_ 2n) / log\ n k) 亚( ) 查询时间, 同时保存 多边对数更新时间。 我们将这个数据结构进行调整, 也支持 完全动态\ em( egeqoal) 美元( 美元) 美元) rodeficleclecal) room) 数据结构, 。