问题描述
我有一组点的坐标(经度和纬度)构成一条路径,并且我也有一个特定点。我想找到此点与一组点之间的最小距离。请提出优化的方法,因为我必须非常频繁地进行此查询。
解决方法
我可能会建议使用动态凸包算法或类似的算法。在这种情况下,最远的点始终在凸包上。将要跟踪的点添加到船体上(O(log N)),因为您知道船体上的一个点,理论上您可能可以找到O(log h)中最远的点,但最坏的情况是O (h)其中,h是凸包上的点数。在随机点集中,h大约为O(sqrt N),但取决于点集的外观。
我有一组点的坐标(经度和纬度)构成一条路径,并且我也有一个特定点。我想找到此点与一组点之间的最小距离。请提出优化的方法,因为我必须非常频繁地进行此查询。
我可能会建议使用动态凸包算法或类似的算法。在这种情况下,最远的点始终在凸包上。将要跟踪的点添加到船体上(O(log N)),因为您知道船体上的一个点,理论上您可能可以找到O(log h)中最远的点,但最坏的情况是O (h)其中,h是凸包上的点数。在随机点集中,h大约为O(sqrt N),但取决于点集的外观。