Jon Louis Bentley

Learn More
An algorithm and data structure are presented for searching a file containing N records, each described by k real valued keys, for the m closest matches or nearest neighbors to a given query record. The computation required to organize the file is proportional to kN log N. The expected number of records examined in each search is independent of the file(More)
The quad tree is a data structure appropriate for storing information to be retrieved on composite keys. We discuss the specific case of two-dimensional retrieval, although the structure is easily generalised to arbitrary dimensions. Algorithms are given both for staightforward insertion and for a type of balanced insertion into quad trees. Empirical(More)
Most results in the field of algorithm design are single algorithms that solve single problems. In this paper we discuss <italic>multidimensional divide-and-conquer</italic>, an algorithmic <italic>paradigm</italic> that can be instantiated in many different ways to yield a number of algorithms and data structures for multidimensional problems. We use this(More)
Three techniques in computational geometry are explored: <italic>Scaling</italic> solves a problem by viewing it at increasing levels of numerical precision; <italic>activation</italic> is a restricted type of update operation, useful in sweep algorithms; the <italic>Cartesian tree</italic> is a data structure for problems involving maximums and minimums.(More)