找到最短的路径

时间:2014-04-23 06:37:39

标签: php algorithm graph graph-theory shortest-path

我有50个或更多节点的纬度和经度。它没有相互联系。我们将一个节点视为开始和结束两者。

我需要找到通过这些节点的最短路径,它从'start'开始,在同一个起始点结束并通过所有节点。

注意:不使用google maps api

2 个答案:

答案 0 :(得分:0)

您描述的问题是Euclidean TSP,这是NP难的。

对于非常小的输入,您可以使用强力进行。对于较大的输入,可以使用近似算法(例如链接中提到的算法,保证2近似)。

答案 1 :(得分:0)

但是你没有这里的样本数据,我认为这可能有用:

names<-#read your nodes
rest<-list()
A<-list()
n=1
for  (i in 1:50){
    A<-get.all.shortest.paths(aracne_graph, names[i], names[i], mode = c("all"), weights=NULL)  
    rest[[n]]<-A$res
    n<-n+1
  }
}