research

Output-Sensitive Tools for Range Searching in Higher Dimensions

Abstract

Let PP be a set of nn points in Rd{\mathbb R}^{d}. A point p∈Pp \in P is kk\emph{-shallow} if it lies in a halfspace which contains at most kk points of PP (including pp). We show that if all points of PP are kk-shallow, then PP can be partitioned into Θ(n/k)\Theta(n/k) subsets, so that any hyperplane crosses at most O((n/k)1βˆ’1/(dβˆ’1)log⁑2/(dβˆ’1)(n/k))O((n/k)^{1-1/(d-1)} \log^{2/(d-1)}(n/k)) subsets. Given such a partition, we can apply the standard construction of a spanning tree with small crossing number within each subset, to obtain a spanning tree for the point set PP, with crossing number O(n1βˆ’1/(dβˆ’1)k1/d(dβˆ’1)log⁑2/(dβˆ’1)(n/k))O(n^{1-1/(d-1)}k^{1/d(d-1)} \log^{2/(d-1)}(n/k)). This allows us to extend the construction of Har-Peled and Sharir \cite{hs11} to three and higher dimensions, to obtain, for any set of nn points in Rd{\mathbb R}^{d} (without the shallowness assumption), a spanning tree TT with {\em small relative crossing number}. That is, any hyperplane which contains w≀n/2w \leq n/2 points of PP on one side, crosses O(n1βˆ’1/(dβˆ’1)w1/d(dβˆ’1)log⁑2/(dβˆ’1)(n/w))O(n^{1-1/(d-1)}w^{1/d(d-1)} \log^{2/(d-1)}(n/w)) edges of TT. Using a similar mechanism, we also obtain a data structure for halfspace range counting, which uses O(nlog⁑log⁑n)O(n \log \log n) space (and somewhat higher preprocessing cost), and answers a query in time O(n1βˆ’1/(dβˆ’1)k1/d(dβˆ’1)(log⁑(n/k))O(1))O(n^{1-1/(d-1)}k^{1/d(d-1)} (\log (n/k))^{O(1)}), where kk is the output size

    Similar works

    Full text

    thumbnail-image

    Available Versions