We propose a data structure in $d$-dimensional hyperbolic space that can be considered a natural counterpart to quadtrees in Euclidean spaces. Based on this data structure we propose a so-called L-order for hyperbolic point sets, which is an extension of the Z-order defined in Euclidean spaces. Using these quadtrees and the L-order we build geometric spanners. Near-linear size $(1+\epsilon)$-spanners do not exist in hyperbolic spaces, but we are able to create a Steiner spanner that achieves a spanning ratio of $1+\epsilon$ with $\mathcal O_{d,\epsilon}(n)$ edges, using a simple construction that can be maintained dynamically. As a corollary we also get a $(2+\epsilon)$-spanner (in the classical sense) of the same size, where the spanning ratio $2+\epsilon$ is almost optimal among spanners of subquadratic size. Finally, we show that our Steiner spanner directly provides a solution to the approximate nearest neighbour problem: given a point set $P$ in $d$-dimensional hyperbolic space we build the data structure in $\mathcal O_{d,\epsilon}(n\log n)$ time, using $\mathcal O_{d,\epsilon}(n)$ space. Then for any query point $q$ we can find a point $p\in P$ that is at most $1+\epsilon$ times farther from $q$ than its nearest neighbour in $P$ in $\mathcal O_{d,\epsilon}(\log n)$ time. Moreover, the data structure is dynamic and can handle point insertions and deletions with update time $\mathcal O_{d,\epsilon}(\log n)$.
翻译:我们提出了一种$d$维双曲空间中的数据结构,可视为欧氏空间中四叉树的自然对应物。基于该数据结构,我们提出了双曲点集的所谓L阶,这是欧氏空间中Z阶的推广。利用这些四叉树和L阶,我们构建了几何伸展器。在双曲空间中,近线性大小的$(1+\epsilon)$-伸展器不存在,但通过一种可动态维护的简单构造,我们能够创建具有$\mathcal O_{d,\epsilon}(n)$条边、伸展比为$1+\epsilon$的施泰纳伸展器。作为推论,我们同样获得了相同大小的$(2+\epsilon)$-伸展器(经典意义下),其中伸展比$2+\epsilon$在次二次大小的伸展器中几乎是最优的。最后,我们证明该施泰纳伸展器可直接解决近似最近邻问题:给定$d$维双曲空间中的点集$P$,我们在$\mathcal O_{d,\epsilon}(n\log n)$时间内构建数据结构,占用$\mathcal O_{d,\epsilon}(n)$空间。对于任意查询点$q$,我们可在$\mathcal O_{d,\epsilon}(\log n)$时间内找到距离$q$不超过其最近邻距离$1+\epsilon$倍的点$p\in P$。此外,该数据结构具有动态性,能以$\mathcal O_{d,\epsilon}(\log n)$的更新时间支持点的插入和删除。