English

Simpler is Faster: Practical Distance Reporting by Sorting Along a Space-Filling Curve

Computational Geometry 2025-12-05 v3

Abstract

Range reporting is a classical problem in computational geometry. A (rectangular) reporting data structure stores a point set PP, such that, given a (rectangular) query region Δ\Delta, it returns all points in PΔP \cap \Delta. A variety of data structures support such queries with differing asymptotic guarantees such as k-d trees, range trees, R-trees, and quadtrees. A common variant of range queries are distance reporting queries, where the input is a query point qq and a radius δ\delta, and the goal is to report all points in PP within distance δ\delta of qq. Such queries frequently arise as subroutines in geometric data structures. Practical implementations typically answer distance queries through rectangular range queries using the data structures listed before. This paper revisits a simple and practical heuristic for distance reporting, originally proposed in TCS'97: sort the input point set~PP along a space-filling curve. Queries then reduce to scanning at most four contiguous ranges along the sorted curve. The fact that sorting along a space-filling curve is beneficial for range reporting is well-known. Many implementations use this technique to speed up their query and construction times. The point that this paper makes is subtle, but interesting: we argue that often, it is the space-filling curve rather than the overall data structure that provides the performance benefits. Thus, we offer a simple but effective alternative: only sort PP along a space-filling curve instead. We compare this approach to eight range searching implementations, across an elaborate test suite of real-world and synthetic data. Our experiments confirm this simple 200-line code approach out-performs all high-end implementations in terms of space usage and construction time. It presents almost always the best query times. In a dynamic setting, our approach dominates in performance.

Keywords

Cite

@article{arxiv.2508.19891,
  title  = {Simpler is Faster: Practical Distance Reporting by Sorting Along a Space-Filling Curve},
  author = {Sarita de Berg and Emil Toftegaard Gæde and Ivor van der Hoog and Henrik Reinstädtler and Eva Rotenberg},
  journal= {arXiv preprint arXiv:2508.19891},
  year   = {2025}
}