Optimal Partition Trees

  • Authors:
  • Timothy M. Chan

  • Affiliations:
  • University of Waterloo, Cheriton School of Computer Science, N2L 3G1, Waterloo, Ontario, Canada

  • Venue:
  • Discrete & Computational Geometry - Special Issue: 26th Annual Symposium on Computational Geometry; Guest Editor: David Kirkpatrick
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We revisit one of the most fundamental classes of data structure problems in computational geometry: range searching. Matoušek (Discrete Comput. Geom. 10:157–182, 1993) gave a partition tree method for d-dimensional simplex range searching achieving O(n) space and O(n 1−1/d ) query time. Although this method is generally believed to be optimal, it is complicated and requires O(n 1+ε ) preprocessing time for any fixed ε0. An earlier method by Matoušek (Discrete Comput. Geom. 8:315–334, 1992) requires O(nlogn) preprocessing time but O(n 1−1/d logO(1) n) query time. We give a new method that achieves simultaneously O(nlogn) preprocessing time, O(n) space, and O(n 1−1/d ) query time with high probability. Our method has several advantages: It is conceptually simpler than Matoušek’s O(n1−1/d)-time method. Our partition trees satisfy many ideal properties (e.g., constant degree, optimal crossing number at almost all layers, and disjointness of the children’s cells at each node). It leads to more efficient multilevel partition trees, which are needed in many data structuring applications (each level adds at most one logarithmic factor to the space and query bounds, better than in all previous methods). A similar improvement applies to a shallow version of partition trees, yielding O(nlogn) time, O(n) space, and O(n1−1/⌊d/2⌋) query time for halfspace range emptiness in even dimensions d≥4. Numerous consequences follow (e.g., improved results for computing spanning trees with low crossing number, ray shooting among line segments, intersection searching, exact nearest neighbor search, linear programming queries, finding extreme points, …).