Ho una distribuzione di oggetti punto bidimensionali. Come è possibile trovare il numero N più vicino di punti a un dato punto senza scorrere sull'intera collezione di punti (mantenendo solo la "n" minima)? Lo farò per ogni punto in modo tale che la tecnica della forza bruta (che sto usando in questo momento. Ci sono 12.000 punti in questo set, quindi a volte l'ottimizzazione prematura è il .. percorso maturo da intraprendere.
Ho esaminato gli alberi R tuttavia, per quanto so che restituiscono tutti i punti entro una determinata distanza di un punto, questo potrebbe funzionare, ma avrei bisogno di iniziare a distanze estremamente ridotte e fare successivamente ricerche più ampie fino a trovare 'n'. Forse avrei anche bisogno di creare un oggetto cerchio geometrico personalizzato e usarlo per legare la ricerca al posto del quadrato predefinito, pensieri su questo approccio? Il cerchio è necessario?
I quadrifoli sono meglio per questo? È possibile attraversare le caselle più piccole o più grandi alla ricerca di 5 punti più vicini? Sembra che questo potrebbe avere anche un potenziale - anche se ho solo preso una rapida occhiata a questo algoritmo rispetto a r-trees.
Qual è il modo migliore per affrontarlo in modo accurato senza ricorrere alla forza bruta?