Penso che l'ipotesi sottostante sia che si dispone di un set di dati di punti che si possono facilmente associare, poiché molti algoritmi che sarebbero "abbastanza buoni" nella pratica potrebbero non essere abbastanza rigorosi per la teoria e/o potrebbero non adattarsi bene per soluzioni arbitrariamente grandi.
Una soluzione molto semplice che è probabilmente "abbastanza buona" è ordinare le coordinate sull'ordinata Y, quindi eseguire un ordinamento stabile sull'ordinata X.
Prendere il rettangolo definito dai valori min (X, Y) e max (X, Y), complessità O (1) poiché i valori saranno in posizioni note nel set di dati ordinato.
Ora, lavorando dal centro del set di dati ordinato, trova i valori delle coordinate il più vicino possibile a {Xctr = Xmin + (Xmax - Xmin)/2, Yctr = Ymin + (Ymax - Ymin)/2} - complessità O (N) limitata dai criteri di minimizzazione, la distanza è il raggio familiare da {Xctr, Yctr}.
La complessità del caso peggiore sarebbe quella di confrontare il centroide con ogni altro punto, ma una volta che ti allontani dai punti centrali non migliorerai l'optimum globale e dovresti terminare la ricerca.
Vuoi il http://en.wikipedia.org/wiki/Geometric_median –
Hai bisogno dell'algoritmo per lavorare con solo la distanza euclidea o qualsiasi tipo di distanza? – Josay
@ScottHunter Penso che voglia il punto più vicino alla mediana geometrica (che non dovrebbe essere molto più difficile da trovare) ma non ne sono sicuro. – Josay