0

kd-tree アルゴリズムでスペースを分割する方法について質問があります。

平面上に (x,y) 座標の点があると仮定します。ポイントが同じ行にある場合、特定の状況にないと仮定します。あるレベルでは x 軸を使用し、次のレベルでは y 軸を使用して、分割座標を交互に使用する必要がある理由を考えていました。スペースを分割するために x 方向のみを使用する場合に重要なことは、常にバイナリ ツリーがあり、検索アルゴリズムは常に平均で log(n) を取得することです (比較的バランスの取れたツリーがあると仮定します)。

分割方向を交互に変えてスペースを分割すると、さらに何が得られますか? 多次元におけるいくつかの一般的な確率的性質に関連しているのだろうか?

4

1 に答える 1

0

たとえば、ウィンドウクエリ(長方形クエリ)を使用してツリーの検索を開始すると、問題が発生すると思います。

-1,000すべての方向の間およびすべての方向に均等に分散されたポイントを持つ長方形のデータセットを想定してみましょう1,000。でソートするxと、すべてのポイントを返すクエリで、(-900 < x < 900) && (1 < y < 10)ほぼツリー全体をスキャンする必要がある場合があります。検索は、クエリが制限のみを行い、 制限しないlog(n)場合にのみ機能します。xy(1<x<10) && (-inf<y<+inf)

于 2015-11-13T12:05:20.820 に答える