xia*_*012 3 python graph-theory networkx
networkx获得两个不相交节点集之间的交叉边的快速方法是什么?有现成的功能可以使用吗?
我现在使用的方式:
import networkx as nx
from itertools import product
A = set(range(50))
B = set(range(50, 100))
g = nx.complete_graph(100)
cross_edges = [(n1, n2)
for n1, n2 in product(A, B)
if n1 in g.adj and n2 in g.adj[n1]]
Run Code Online (Sandbox Code Playgroud)
您可以使用Networkx 中的edge_boundary函数。
集合 S 相对于集合 T 的边边界是边集合 (u, v),使得 u 在 S 中,v 在 T 中。
这也称为割集,即在分区的每个子集中都有一个端点的一组边。