2017-04-20 12 views
0

Voronoi Tessellation経由言う我々は、クラスタに分け、2Dスペースを持って言う:ハッシュマップを使用してポイントが属するエリアを見つける方法を教えてください。

enter image description here

私たちは、クラスタのアウトライン、ミッドポイントを持っています。そのような空間内のポイント(x、y座標)を与えて、それが所属するクラスターを判別できるようにハッシュを取る方法は?

レイヤーを追加してポイントを所持しているツリーをツリー検索で作成することで、クラスターをバイナリーツリーにすることができます。また私は、各空間点(descreetであると仮定)をクラスタにマッピングし、データのロードを格納するO(1)を取得できることも知っています。しかし、私は、順序付けられていないハッシュマップスタイルを使用して、与えられた点からクラスターを得る方法を模索しています。そのようなことを行う方法(アルゴリズム的に)?

+0

私は、レイアウトがxyの軸に沿って配置されたグリッドの場合にのみ可能だと思います。スペースは偶数矩形で分割されます。あなたはちょうどポイントxy座標を使用し、矩形を取り出すためにデータセットの全幅/高さを分割することができます。 – AlexG

+0

私が与えられたポイントは、これはちょうど座標のペアです...私たちsumhowそれらのハッシュ関数を構築することができます... – DuckQueen

答えて

2

Build kd-tree Voronoiサイト(セル「センタ」)上にあり、O(NlogN)時間内に最も近いサイトを検索します。細胞(おそらく、より複雑な方法)各ボロノイで

0

trapezoid decompositionを構築する」 - ポイントと最も近いサイトの両方が原因ボロノイ図のプロパティ

別のオプションに同じセルに属し

注意クラスタ "は、対応する中間点に最も近い隣接点として有する点の軌跡である。

このように、実際には、新しい点の(すべての中間点の中で)最も近い隣を見つけることに興味があります。

この目的のためにハッシングを使用する場合は、おそらくローカリティセンシティブハッシュについてお読みください。

関連する問題