我试图找到最短路径的距离/重量,而不仅是最短路径。 networkx
中是否有任何功能可以找到距离?
这是我的代码:
import networkx as nx
import random
G = nx.Graph()
G.add_edge(1, 2, weight = 450)
G.add_edge(2, 1, weight = 450)
G.add_edge(1, 3, weight = 390)
G.add_edge(3, 1, weight = 390)
G.add_edge(1, 4, weight = 550)
G.add_edge(4, 1, weight = 550)
G.add_edge(1, 8, weight = 1310)
G.add_edge(8, 1, weight = 1310)
G.add_edge(2, 3, weight = 300)
node_1=input("Entrer Noeud 1:")
node_2=input("Entrer Noeud 2 :")
# shortest path
print "Le plus court chemin de ",node_1," a ",node_2," est :"
liste=nx.dijkstra_path(G,node_1,node_2)
print (liste)
# length of the shortest path
print "la longueur du plus court chemin est "
print (nx.shortest_path_length(G,source=node_1,target=node_2))
答案 0 :(得分:0)
您需要指定权重字段名称,在这种情况下,它只是“权重”。
nx.shortest_path_length(G, source=node_1, target=node_2, weight='weight')
有关详细信息,请参阅official documentation