networkx中的“平方”图

2024-10-01 00:36:09 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个带有节点a, b, c和边(a,b)的图G。G^2会有节点(a,a), (a,b), (b,b), (a,c),等等,边((a,a),(a,b)), ((a,b),(b,b)),等等。节点对是对称的,所以(a,b) = (b,a)。你知道吗

当使用cd7时,使用cd7实现{long}{。但是现在我使用的是NetworkX,当我试图获得G^2时,它需要很长时间才能运行(可能是因为一个bug?)你知道吗

因此,与编写自己的代码不同,NetworkX中是否有内置函数或与之相关的库以上述方式构造G^2?你知道吗


Tags: 函数代码networkx节点方式bug内置long
1条回答
网友
1楼 · 发布于 2024-10-01 00:36:09

你说的是给定图的^{}吗?在这种情况下,您可以使用来自NetworkX^{} function

import networkx as nx
g = nx.Graph()
g.add_edge('a','b')
g.add_edge('a','c')
g_2 = nx.power(g, 2)
g_2.nodes()
>>>> ['a', 'c', 'b']
g_2.edges()
>>> [('a', 'c'), ('a', 'b'), ('c', 'b')]

请注意,此方法不会连接未连接的边,因此在上面的代码中,如果不在“a”和“c”之间添加边,则不会获得c和其他任何边之间的边。你知道吗

相关问题 更多 >