Ste*_*ett 8 algorithm computational-geometry data-structures
这是我经常遇到的一个问题,我正在寻找更有效的方法来解决它。看看这张照片:


假设您想找到从红点到线段 a n的最短距离。假设您只知道线段的起点/终点 (x,y) 和点。现在这可以在 O(n) 中完成,其中 n 是线段,通过检查从点到线段的每个距离。这是 IMO 无效的,因为在最坏的情况下,必须进行 n-1 次距离检查,直到找到正确的距离。
对于 n = 1000 fe(这是一个可能的数字),这可能是一个真正的性能问题,特别是如果距离计算不仅通过勾股定理在欧几里得空间中完成,而且例如通过像半正弦公式或文森蒂的。
这是在不同情况下的普遍问题:
要回答这些问题,我知道的唯一方法是 O(n)。现在我想知道是否有数据结构或不同的策略可以更有效地解决这些问题?
简而言之:我正在寻找一种方法,在我开始距离计算之前,可以以某种方式“过滤”线段/顶点以获得一组潜在的候选对象。将复杂度降低到 O(m) 的方法,其中 m < n。