3

我想找到所有可能的节点对,它们没有连接它们的边,然后检查这些节点对是否在另一个图中有边。有什么建议么?

4

1 回答 1

2

如果您不关心性能,那么您可以尝试:

g1Edges = Graph1.edges()
notG1Edges = set()
for a in Graph1.nodes():
    for b in Graph1.nodes():
        if a != b and (a,b) not in g1Edges:
            notG1Edges.add( (a, b) )
# print edges missed in Graph1 and Graph2
print notG1Edges.difference( Graph2.edges_iter() )

注意1:这是有向图

注意 2:如果您想从 Graph2 中找到不存在于 Graph1 中的边子集,那么假设最好对 Graph2 中的边进行操作

于 2012-06-13T07:15:39.070 回答