小编abh*_*hay的帖子

如何使用 NetworkX 在加权图中获得最短路径?

我试图在定义为的加权图中获得最短路径

import networkx as nx
import matplotlib.pyplot as plt
g = nx.Graph()
g.add_edge(131,673,weight=673)
g.add_edge(131,201,weight=201)
g.add_edge(673,96,weight=96)
g.add_edge(201,96,weight=96)
nx.draw(g,with_labels=True,with_weight=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这样做我使用

nx.shortest_path(g,source=131,target=96)
Run Code Online (Sandbox Code Playgroud)

预期的答案是 131,201,96,因为对于该路径,我的权重总和最少。我得到的是 131,673,96。我尝试改变权重,但显然shortest_path总是返回最长的路径。到底是怎么回事?

python graph shortest-path networkx

3
推荐指数
1
解决办法
7785
查看次数

标签 统计

graph ×1

networkx ×1

python ×1

shortest-path ×1