Optimal partition trees

  • Authors:
  • Timothy M. Chan

  • Affiliations:
  • University of Waterloo, Waterloo, ON, Canada

  • Venue:
  • Proceedings of the twenty-sixth annual symposium on Computational geometry
  • Year:
  • 2010

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. Back in SoCG'92, Matousek gave a partition tree method for d-dimensional simplex range searching achieving O(n) space and O(n1-1/d) query time. Although this method is generally believed to be optimal, it is complicated and requires O(n1+ε) preprocessing time for any fixed ε0. An earlier method by Matousek (SoCG'91) requires O(n log n) preprocessing time but O(n1-1/d logO(1)n) query time. We give a new method that achieves simultaneously O(n log n) preprocessing time, O(n) space, and O(n1-1/d) query time with high probability. Our method has several advantages: It is conceptually simpler than Matousek's SoCG'92 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 important in many data structural 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(n log n) 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, ... ).