繁体   English   中英

如何在 NetworkX 中添加虚拟节点?

[英]How to add dummy nodes in NetworkX?

我正在尝试生成最短路径,但我需要生成虚拟节点来执行此操作,因为我有几个从伊斯坦布尔到安卡拉的边,所以我无法使用正常方法创建路径,因为 model 将这些边视为一个边。 我的节点显示在 excel 表(Node1 和 Node2)的前两列中。 我想使用 Node1_reference 和 Node2_reference 生成最短路径,但我不确定如何 go 或者我是否应该创建虚拟节点,因为我无法调用没有后缀的城市

在此处输入图像描述

在此处输入图像描述

我想你已经有了你的图表

g = nx.Graph()

然后你添加节点

g.add_node('Istanbul')
g.add_node('Ankara')
g.add_node('Muscat')

那么你应该添加边缘

g.add_edge('Istanbul', 'Ankara')
g.add_edge('Istanbul', 'Muscat')
g.add_edge('Ankara', 'Muscat')

然后你可以检查是否有路径:

print(nx.has_path(g, 'Istanbul', 'Ankara'))

当然,如果您正在寻找最短路径,则必须向边缘添加属性,除非它们都具有相同的成本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM