c++ - Implementación eficiente de la búsqueda de vecino más cercano
tree nearest-neighbor (2)
Hay varias buenas opciones de bibliotecas de búsqueda de vecinos más cercanos rápidos.
ANN , que se basa en el trabajo de Mount y Arya. Este trabajo está documentado en un documento de S. Arya y DM Mount. "Consultas aproximadas del vecino más cercano en dimensiones fijas" . En Proc. 4 ° Simposio ACM-SIAM. Algoritmos discretos, páginas 271-280, 1993.
FLANN , que se basa en el trabajo de Marius Muja & Co. Hay un documento de Marius Muja y David G. Lowe, "Vecinos cercanos aproximados rápidos con configuración automática de algoritmos" , en Conferencia Internacional sobre Teoría de la Visión por Computadora y Aplicaciones (VISAPP '' 09), 2009. El código para FLANN está disponible en github
FLANN parece ser más rápido en algunos casos, y es una versión más moderna del código con enlaces sólidos para varios otros idiomas, que pueden incorporar cambios rápidamente. ANN es probablemente una buena opción si desea una biblioteca estándar sólida y bien probada.
Editar en respuesta al comentario
Ambas bibliotecas tienen una amplia documentación y ejemplos.
El código de muestra para ANN está disponible en el Manual , en la sección 2.1.4
El código de muestra para FLANN está disponible en el directorio de ejemplos de repositorio de FLANN, por ejemplo /examples/flann_examples.c
Estoy tratando de implementar un algoritmo eficiente para el problema de búsqueda del vecino más cercano .
He leído tutoriales sobre algunas estructuras de datos, que admiten operaciones para este tipo de problemas (por ejemplo, R-tree , árbol de portadas , etc.), pero todos son difíciles de implementar.
Además, no puedo encontrar el código fuente de muestra para estas estructuras de datos. Sé que C ++ y estoy tratando de resolver este problema en este idioma.
Idealmente, necesito enlaces que describan cómo implementar estas estructuras de datos usando el código fuente.
Puede probar un algoritmo de barrido de líneas para encontrar el par de puntos más cercano: http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=lineSweep .