2015-09-18 6 views
6

ich für eine rein funktionelle Datenstruktur mit einer API wie suchen:Was ist eine rein funktionale Datenstruktur für eine schnellen nächste Nachbar-Suche auf n-dimensionalen Raum?

insert :: Vector n Int -> Struct n -> Struct n 
remove :: Vector n Int -> Struct n -> Struct n 
nearest :: Vector n Int -> Struct n -> Vector n Int 

oder eine Variation davon, schnelle Einfügung, Entfernung und Abfrage für das nächste Element in einem n-dimensionalen Raum bereitstellt. Was ist diese Datenstruktur?

+2

eine Datenstruktur * * gekauft unterscheidet sich grundlegend von einer Bibliothek oder externe Ressource zu empfehlen. Diese Frage ist in Ordnung und sollte nicht geschlossen werden. –

+0

Ein k-d-Baum funktioniert gut, wenn die Anzahl der Dimensionen nicht zu hoch ist. – salva

+0

Ich frage mich, ob eine Struktur, da für diese Operation spezialisiert ist, Quadtrees/k-d Bäume im Allgemeinen leistungsstärker sind. – MaiaVictor

Antwort

4

Es gibt eine natürliche Verallgemeinerung quadtrees von zwei Dimensionen n.

Verwandte Themen