我经常遇到这个问题,我正在寻找一种更有效的解决方法。看一下这张照片:
假设您要查找从红点到线段a n的最短距离。假设您只知道线段的起点/终点(x,y)和该点。现在,可以通过检查从点到线段的每个距离,在O(n)(其中n是线段)中完成此操作。这是IMO无效的,因为在最坏的情况下,必须进行n-1次距离检查,直到找到正确的距离。
对于n = 1000 fe(这是一个可能的数字),这可能是一个实际的性能问题,尤其是如果距离的计算不仅是通过勾股定理在欧几里德空间中完成的,而是例如通过诸如hasrsine公式或文森蒂的。
在不同情况下,这是一个普遍的问题:
要回答这些问题,我知道的唯一方法是O(n)。现在,我想知道是否存在数据结构或其他策略可以更有效地解决这些问题?
简而言之:我正在寻找一种方法,在开始距离计算之前,可以以某种方式“过滤”线段/顶点以获得一组潜在的候选对象。降低复杂度到O(m)的东西,其中m <n。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句