I need to solve a computational problem that boils down to searching for reciprocally-nearest pairs of points between two sets. The problem goes something like this:
Giv
Sorry for picking up a rather old thread but I just wanted to add a solution I've found in my textbook for an Algorithm Design class:
There is a divide-and-conquer (think merge-sort) approach to solve this problem that should be O(n logn)
, I've only seen it for finding the shortest distance within one set of points but it should be easily adapted to require each pairing to consist of points from different sets.
d
)p
) in the left half and check the distance for all points between p_x
and p_x + d
, if any of these distances are shorter than d
that is the d
to return, otherwise return d
.