K-d trees for semidynamic point sets

  • Authors:
  • Jon Louis Bentley

  • Affiliations:
  • AT&T Bell Laboratories, Murray Hill, NJ

  • Venue:
  • SCG '90 Proceedings of the sixth annual symposium on Computational geometry
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

A K-d tree represents a set of N points in K-dimensional space. Operations on a semidynamic tree may delete and undelete points, but may not insert new points. This paper shows that several operations that require &Ogr;(log N) expected time in general K-d trees may be performed in constant expected time in semidynamic trees. These operations include deletion, undeletion, nearest neighbor searching, and fixed-radius near neighbor searching (the running times of the first two are proved, while the last two are supported by experiments and heuristic arguments). Other new techniques can also be applied to general K-d trees: simple sampling reduces the time to build a tree from &Ogr;(KN log N) to &Ogr;(KN + N log N), and more advanced sampling builds a robust tree in the same time. The methods are straightforward to implement, and lead to a data structure that is significantly faster and less vulnerable to pathological inputs than ordinary K-d trees.