Mi objetivo es una implementación más eficiente del algoritmo presentado in this question.Encontrar el punto más alejado en un conjunto de otro conjunto
considerar dos conjuntos de puntos (en N-espacio. 3-espacio para el caso del ejemplo de RGB espacio de color, mientras que una solución para
1-espacio
2-espacio difiere sólo en el cálculo de la distancia). ¿Cómo se encuentra el punto en el primer conjunto que está más alejado de su vecino más cercano en el segundo conjunto?
En un ejemplo de 1 espacio, dados los conjuntos A: {2,4,6,8} y B: {1,3,5}, la respuesta sería 8, ya que 8 está a 3 unidades de distancia de 5 (su vecino más cercano en B) mientras que todos los demás miembros de A están a solo 1 unidad de distancia de su vecino más cercano en B. edición: 1 espacio es demasiado simplificado, ya que la clasificación está relacionada con la distancia de una manera que no dimensiones.
La solución en la pregunta fuente implica una comparación de fuerza bruta de cada punto en un conjunto (todos R, G, B donde 512> = R + G + B> = 256 y R% 4 = 0 y G% 4 = 0 y B% 4 = 0) a cada punto en el otro conjunto (tabla de colores). Ignore, por el bien de esta pregunta, que el primer conjunto se elabora programáticamente en lugar de repetirse como una lista almacenada como el segundo conjunto.
Su respuesta no tiene sentido.¿Podría proporcionar un seudocódigo para la versión de 1 espacio? – Sparr
Esta es la versión de 1 espacio. –
¿Cómo ocurre el paso (4) en tiempo lineal? – Peter