私は点のベクトルから取られた特定のクエリ点からk番目の最も近い点まで(ユークリッド距離)を繰り返し必要とするアルゴリズムに取り組んでいます。また、ある点の半径内のすべての点を繰り返し見つける必要があります。点のk番目の最も近い隣人のための空間クエリ
私はnanoflannライブラリのk-dツリーを使用することを考えています。しかし、knnSearch()関数は、必要としないすべてのk最近傍を返します。 (radiusSearch()関数は私にはうまく合っていますが)。
いつでもすべてのk個の最も近いネイバーをスローする以外に、必要なものを得るためのより効率的な方法がありますか?より良いデータ構造またはより良い実装? (私はC++を使用しています。)
任意のデータセットについて、寸法は5以下であることが知られています。私がコード内のボトルネックの原因ではないことを知ってうれしいです。今のところ、ヘッダーのインクルードであるため、ナノフルランに固執しています。必要なのはk-dツリーだけです。ありがとう。 –