2d地图上最孤立的点 - 算法

Sgl*_*ive 5 algorithm computational-geometry

我有一组积分,需要知道哪一个与其他任何一点有最远的欧几里德距离.

为了得到这一点,我得到所有积分的每一个距离,取平均值,并将最大平均值作为最远点.

有没有更快的方法来找出这一点?

Hoo*_*ked 6

正如其他人所建议的那样,为所有N个点构建一个KD树.这需要O(N logN)时间.对于每个点找到最近的邻居,对于单个点可以完成O(logN).对于所有N点,您可以通过查找此集的最小值来找到最孤立的点O(N logN).

此外,您现在可以使用方便的KD树来进行其他基于距离的查询.