查找断开点之间的路径

时间:2018-01-25 20:42:07

标签: java graph geometry cartesian-coordinates

我的挑战是找到笛卡儿计划中两点 A B 之间的最短路径,追踪其他点的路径,尊重以下内容: /> 1)没有边缘(断开的图形);
2)两个“邻居”点之间的距离不能大于指定值(例如P16->B)。

在这种情况下:

A
   P1      P2      P3      P4      P5
   P7    
   P8      P9      P16                 B
       P10                     P15
           P11     P12     P13     P14
路径应该是:

A->P1->P2->P3->P4->P5->B

我的第一次尝试是迭代所有节点,创建边缘,然后应用dijkstra算法。但对于大图来说似乎很慢。

for(Point ori : points)
    for(Point dest : points)
        if(!ori.equals(dest) && distance(ori, dest) <= maxDistance))
            ori.neighbors.add(dest);

List<Point> path = dijkstra(points, pointA, pointB);

还有另一种最佳解决方案吗?

0 个答案:

没有答案