Mein Ziel ist eine effizientere Implementierung des Algorithmus gestellt in this question.Den entferntesten Punkt in einem Satz von einem anderen Satz finden
Betrachten zwei Sätze von Punkten (in N-Raum. 3-Raum für den beispielhaften Fall von RGB-Farbraum, während eine Lösung für
1-space
2-Raum nur in der Abstandsberechnung unterscheidet). Wie findest du den Punkt in der ersten Menge, der im zweiten Satz am weitesten von seinem nächsten Nachbarn entfernt ist? In einem 1-Platz-Beispiel wäre die Antwort 8 angesichts der Sätze A: {2,4,6,8} und B: {1,3,5}, da 8 3 Einheiten entfernt ist 5 (der nächste Nachbar in B), während alle anderen Mitglieder von A nur 1 Einheit von ihrem nächsten Nachbarn in B entfernt sind. Edit: 1-space ist übermäßig vereinfacht, da die Sortierung sich auf Distanz bezieht, so dass sie nicht höher ist Maße.
Die Lösung in der Ausgangsfrage beinhaltet einen Brute-Force-Vergleich von jedem Punkt in einer Menge (alle R, G, B mit 512> = R + G + B> = 256 und R% 4 = 0 und G% 4 = 0 und B% 4 = 0) zu jedem Punkt in der anderen Menge (colorTable). Ignoriere für diese Frage, dass der erste Satz programmatisch ausgearbeitet wird, anstatt wie der zweite Satz als gespeicherte Liste durchlaufen zu werden.
Ihre Antwort ergibt keinen Sinn.Könnten Sie Pseudocode für die 1-Space-Version bereitstellen? – Sparr
Dies ist die 1-Platz-Version. –
Wie erfolgt Schritt (4) in linearer Zeit? – Peter