In the 2D point searching problem, our goal is to preprocess n points
P = {p1, …,
pn}
in the plane so that, for an online sequence of query
points q1, …, qm,
we can quickly determine which (if any) of the
elements of P are equal to each query point qi.
This problem can be solved in O(log n) time by mapping the
problem down to one dimension.
We present a data structure that is optimized for answering queries
quickly when they are geometrically close to the previous successful query.
Specifically, our data structure executes queries in time
O(log d(qi, qi−1)),
where d is some distance metric between two points.
Our structure works with a variety of distance metrics.
In contrast, we prove that,
for some of the most intuitive distance metrics d,
it is impossible to obtain an O(log d(qi, qi−1)) runtime,
or any bound that is o(log n).