Was sind die bekanntesten Ergebnisse für eine Datenstruktur, die die folgenden Operationen für Punktmengen im zweidimensionalen euklidischen Raum bietet:
- (wobei k eine ganze Zahl größer als 0 ist) gibt die k Punkte zurück, die x amnächsten liegen,die sich in der Menge befinden.
In diesem speziellen Fall bin ich nicht besonders an ungefähren nächsten Nachbarn, Monte-Carlo-Algorithmen oder Algorithmen interessiert, die davon ausgehen, dass die Daten in irgendeiner Weise gut geformt sind.
Ich bin nicht so voreingenommen gegenüber Las Vegas-Algorithmen, Algorithmen, die annehmen, dass die Koordinaten des Punktes -Bits haben, oder Algorithmen mit einer Laufzeit in Abhängigkeit von .
Antworten:
Gemäß TOPP 63 können dynamische nächste Nachbarn in Polylog ) pro Einfügen, Löschen oder Abfragen beantwortet werden ( dh der Fall k = 1 ). Der allgemeine Fall kann daher auch in der Zeit O ( k Polylog ) pro Abfrage beantwortet werden: Um eine Abfrage für k Punkte durchzuführen, suchen und löschen Sie wiederholt den nächsten Nachbarn, und fügen Sie nach Abschluss der Abfrage alle gelöschten Punkte erneut ein.O ( ) k = 1 O ( k ) k
quelle