Ich habe einen großen (mehrere Millionen Zeilen) Datensatz von Vektoren (d. H. Liste < double []>) und ich muss die nächsten 1000 Vektoren zum gegebenen Vektor finden.Suche nach dem nächsten Vektor in einem großen Datensatz C#
Die naheliegende Lösung ist, die Abstände für alle von ihnen zu berechnen und dann das Array zu sortieren, aber ich bin nicht sicher, ob es der richtige Weg ist, die Größe des Ausgangsarrays zu berücksichtigen.
Vielleicht sollte ich routinemäßig entfernen die am weitesten entfernten Vektoren in den Prozess der Berechnung der Entfernungen, so wird es eine kleine Reihe von engsten Vektoren die ganze Zeit statt einer riesigen Anordnung am Ende.
Auf der anderen Seite sieht es so aus, dass ich immer noch Arrays dieser Größe ohne Speicherüberlauffehler in 64 Bit verarbeiten kann.
Was wird die kostengünstigere Lösung dieses Problems sein?
Wenn der richtige Weg ist, einen kleinen Satz während der Berechnung zu haben - was wird der richtige Weg sein?
Nein, ich habe eine Textdatei. – Philipp