Abstract
Consider a set S of n data points in real d-dimensional space, Rd, where distances are measured using any Minkowski metric. In nearest neighbor searching, we preprocess S into a data structure, so that given any query point q ∈ Rd, is the closest point of 5 to q can be reported quickly. Given any positive real ∈, a data point p is a (1 + ∈)-approximate nearest neighbor of q if its distance from q is within a factor of (1 + ∈) of the distance to the true nearest neighbor. We show that it is possible to preprocess a set_of n points in Rd in O(dn log n) time and O(dn) space, so that given a query point q ∈ Rd, and ∈ > 0, a (1 + ∈)-approximate nearest neighbor of q can be computed in O(cd,∈ log n) time, where cd,∈ ≤ d ⌈1 + 6d/∈⌉d is a factor depending only on dimension and ∈. In general, we show that given an integer k ≥ 1, (1 + ∈)-approximations to the k nearest neighbors of q can be computed in additional O(kd log n) time.
Original language | English |
---|---|
Pages (from-to) | 891-923 |
Number of pages | 33 |
Journal | Journal of the ACM |
Volume | 45 |
Issue number | 6 |
DOIs | |
State | Published - 1998 |
Keywords
- Algorithms
- Approximation algorithms
- E.1 [Data]: Data Structures
- F.2.2 [Analysis of Algorithms and Problem Complexity]: Nonnumerical Algorithms and Problems
- H.3.3 [Information Storage and Retrieval]: Information Search and Retrieval
- Theory