2017-09-20 9 views
0

ベクトルの数百万行のデータセット(つまり、リスト< double []>)があり、そのベクトルに最も近い1000個のベクトルを見つける必要があります。大きなデータセットで最も近いベクトルを見つけるC#

明白な解決策は、すべての距離を計算してから配列をソートすることですが、出力配列のサイズを考慮する正しい方法であるかどうかはわかりません。

距離を計算する過程で最も遠いベクトルを日常的に削除する必要があるかもしれません。したがって、最終的に巨大な配列の代わりに常に最も近いベクトルの小さなセットになります。

一方、私はまだ64ビットでメモリオーバーフローエラーなしでこのサイズの配列を処理できるようです。

この問題を解決するには、コストがかかりません。

正しい方法は、計算中に小さなセットを持つことです - それを行う正しい方法は何ですか?

答えて

0

データベースにそのデータセットを格納すると、最新のDBMSはジオコーディングと距離による検索をサポートします。

+0

いいえ、テキストファイルがあります。 – Philipp

関連する問題