我有list
= coordinates
,其中我有XY平面中所有这些点的坐标。
coordinates
列表中提供的点数超过 1500 。我必须找到XY平面中从最左侧点到最右侧点的最小距离,这样如果两个或多个点位于同一垂直线中,则只选择其中一个用于路径并因此选择距离计算。
coordinates
列表的示例是:
coordinates = [(-6, 0), (-5.82, 1.72), (-5.17, -0.27), (-4.28, 0.0), (-2.9, -0.74), (-2.9, -0.2), (-1.55, 0.08), (-1.37, -0.43), (4.8, -1.64), (4.92, -0.25), (5.05, -1.45), (5.36, -0.02), (6, 0)]
因此,在这种情况下,不会考虑点(-2.9,-0.74)
。
如何使用 Dijksra算法来处理这种情况或任何其他适合最短路径的算法,还可以删除不需要的垂直线中的这些点。
我正在使用itertools
到permutate
找到所有可能的路径,然后找到距离,然后是最小距离,但它不适合超过 1000 的点数不可能忽略我提到的相同的垂直线坐标。请在python