1

マンハッタン距離が気になります。それは非常に具体的で、(それが良い言葉かどうかはわかりませんが)単純です。たとえば、このメトリックでnポイントのセットが与えられた場合、線形時間で2つの最も遠いポイント間の距離を見つけるのは非常に簡単です。しかし、2つの最も近いポイントを見つけることも簡単ですか?

任意のメトリックで最も近い2つのポイントを見つけるためのユニバーサルアルゴリズムが存在すると聞きましたが、それは複雑です。この状況(マンハッタン距離)で、この距離の特別なプロパティを使用して、より簡単なアルゴリズムを考え出すことができるかどうか疑問に思っています。これにより、実装がより簡単になりますか?

編集:平面上のn点。すべての点について、-10 ^ 9 <= x、y <= 10^9とします。

4

1 に答える 1

0

n平面上の点について話していると仮定すると、座標の中からxと座標の最小値と最大値を見つけますy。すべての点が行列のセルで表現できるように、サイズがmaxX-minXxの行列を作成します。maxY-minYマトリックスをn指定されたポイントで埋めます (すべてのセルが埋められるわけではありませんNaN。たとえば、そこに設定されます)。マトリックスをスキャンします - 最短距離は、マトリックス内の隣接する塗りつぶされたセル間です (そのようなペアがいくつかある場合があります)。

于 2013-03-12T17:31:53.727 に答える