说,我有一个顶点列表[1, 2, 3, 4, 5]
,它们形成一个集团,是否有一种快速的方法可以在网络图中诱导它们之间的边缘?我能想到的直截了当的方式是:
from itertools import combinations
def induceClique(nxGraph, vertexList):
for i,j in combinations(vertexList, 2):
nxGraph.add_edge(i, j)
return nxGraph
该函数没问题,你必须添加所有可能的边对以确保存在所需的clique,但是在Python中操作它在处理长顶点列表时会变慢。也许有一个内置函数可以作为networkx包的一部分更有效地执行此操作,也许用C语言编写?
答案 0 :(得分:3)
生成所有边,然后一次实例化它们:
nxGraph.add_edges_from(combinations(vertexList, 2))