NetworkX:在给定顶点的情况下有效地诱导集团

时间:2018-01-16 04:49:49

标签: python graph networkx

说,我有一个顶点列表[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语言编写?

1 个答案:

答案 0 :(得分:3)

生成所有边,然后一次实例化它们:

nxGraph.add_edges_from(combinations(vertexList, 2))