Najbliższa para dla dużej liczby punktów

Otrzymujemy ogromny zestaw punktów w płaszczyźnie 2D. Musimy znaleźć, dla każdego punktu, najbliższy punkt w zestawie. Załóżmy na przykład, że początkowy zestaw jest następujący:

 foo <- data.frame(x=c(1,2,4,4,10),y=c(1,2,4,4,10))

Wynik powinien wyglądać następująco:

 ClosesPair(foo)
 2
 1
 4
 3
 3 # (could be 4 also)

Dowolny pomysł?

questionAnswers(3)

yourAnswerToTheQuestion