興味のあるデータ構造は、メトリックツリーです。つまり、メトリック空間での効率的な検索をサポートします。メトリック空間は、オブジェクトのセットと、三角形の不等式を満たすオブジェクト間で定義された距離関数によって形成されます。次に、オブジェクトのセットとクエリ要素を指定して、クエリに十分近いオブジェクトを取得することが目標です。
検索の問題は、コンピュータサイエンスで文字通りどこにでもあるので、そこにある巨大な異なるメトリック木の量が。ただし、これらは少なくともピボットベースとクラスタリングベースの2つのグループに分割できます(ハイブリッドも確かにあります)。良い調査は、E。Chavez et al。、Searching in Metric Spaces、2001です。例については、第5章:メトリックスペースの現在のソリューション、ページ283を参照してください。
O (nα)0 < α < 1O (n2)O (1 )
チャベス等。また、他のツリーの概要を説明し、特定のツリーが興味を起こさせた場合は自然に参照を増やします。実際には、異なるツリーのパフォーマンスはしばしば実験的に評価されます。これは空間の構造に大きく依存すると思います。したがって、あなたの場合、特にどのツリーが最も効率的であると言うのは難しいです。それにもかかわらず、私はそれが最初に最も簡単なもので行くことは良い考えだと思います。BKツリーの構築が最も簡単な場合は、まず試してみてください。要件を満たしていない場合は、十分な情報に基づいた意思決定に役立つ可能性のある、スペースに関するより多くの事実を収集するために時間(およびおそらくプログラミング時間)を投資します。