如何有效地找到给定点的最远点(从一组点中)?

时间:2019-01-11 20:30:46

标签: algorithm data-structures computational-geometry euclidean-distance

我正在寻找一种算法或数据结构来解决以下问题: 您会得到一组分数S。 然后,您会得到另一种形式的Q查询。 对于每个查询,从给定点中查找集合中最远的点。

集合中最多有10 ^ 5个点,而查询则有10 ^ 5个。点的所有坐标都在0到10 ^ 5之间。

我想知道是否有一种方法可以存储点集,以便我们可以根据需要在O(log n)或O(log ^ 2 n)中回答查询。

1 个答案:

答案 0 :(得分:1)

引用“最远的邻居与应用程序” 到环形查询”:

  

在二维上最远的邻居问题   可以使用点位置在线性空间和对数查询时间内求解   最远的Voronoi图(例如,参见de Berg等[5])。

其中[5]是指“商标教科书”:

  

Berg,Mark de,Otfried Cheong,Marc van Kreveld和Mark Overmars。 计算几何:算法和应用。 Springer-Verlag TELOS,2008年。


Fig
一组最远的邻点Voronoi图。
图片来自Wecom的Jacometti。 “关于操纵一般细分和计算Voronoi图的原语的注释。” (1992)。