Visibility of disjoint polygons
Algorithmica
Worst-case optimal algorithms for constructing visibility polygons with holes
SCG '86 Proceedings of the second annual symposium on Computational geometry
Filtering search: a new approach to query answering
SIAM Journal on Computing
The input/output complexity of sorting and related problems
Communications of the ACM
On a triangle counting problem
Information Processing Letters
Discrete Mathematics - Topological, algebraical and combinatorial structures; Froli´k's memorial volume
Lectures on Discrete Geometry
Optimal halfspace range reporting in three dimensions
SODA '09 Proceedings of the twentieth Annual ACM-SIAM Symposium on Discrete Algorithms
Space---Query-Time Tradeoff for Computing the Visibility Polygon
FAW '09 Proceedings of the 3d International Workshop on Frontiers in Algorithmics
Ordered and unordered top-K range reporting in large data sets
Proceedings of the twenty-second annual ACM-SIAM symposium on Discrete Algorithms
Hi-index | 0.00 |
We study sorted geometric query problems, a class of problems that, to the best of our knowledge and despite their applications, have not received much attention so far. Two of the most prominent problems in this class are angular sorting queries and sorted K-nearest neighbour queries. The former asks us to preprocess an input point set S in the plane so that, given a query point q, the clockwise ordering of the points in S around q can be computed efficiently. In the latter problem, the output is the list of K points in S closest to q, sorted by increasing distance from q. The goal in both problems is to construct a small data structure that can answer queries efficiently. We study sorted geometric query problems in the I/O model and prove that, when limited to linear space, the naïve approach of sorting the elements in S in the desired output order from scratch is the best possible. This is highly relevant in an I/O context because storing a massive data set in a superlinear-space data structure is often infeasible. We also prove that answering queries using I/Os requires space, where N is the input size, B is the block size, and M is the size of the main memory. This bound is unlikely to be optimal and in fact we can show that, for a particular class of "persistence-based" data structures, the space lower bound can be improved to Ω(N2 / MO(1)). Both these lower bounds are a first step towards understanding the complexity of sorted geometric query problems. All our lower bounds assume indivisibility of records and hold as long as B=Ω(logM/BN).