如果在networkx
边数据结构中添加两次相同的边,那么节点之间是否有两条边或者只有一条边?例如,弹簧布局是否会显示节点与边[(a,b),(a,b),(a,b),(a,b)]
比[(a,b),(a,b)]
更多地收敛?如果我想加重优势,我该怎么做呢?
答案 0 :(得分:5)
你可以很快地测试它,但它只会添加一次。边缘和节点在图形结构中表示为字典,只有在它们实际不存在时才会添加它们。
对于现有边缘,再次添加它们无效。
答案 1 :(得分:4)
这个答案有点晚了,但是为了完整起见...
您将需要使用Networkx的MultiGraph
来允许两个节点之间有多个边。
创建图形:
G = nx.MultiGraph()
然后使用G.add_edge()
添加边缘。
您可以测试重复的边缘是否重复:
for i in G.nodes:
print(i, G.edges(i))
相反,如果您不希望重复边缘,只需将图形创建为:
G = nx.Graph()