disjoint_union#
- disjoint_union(G, H)[source]#
合并图 G 和 H。假设节点是唯一的(不相交的)。
该算法会自动重新标记节点以避免名称冲突。
- Parameters:
- G,H图
一个 NetworkX 图
- Returns:
- U一个与 G 类型相同的联合图。
Notes
创建一个与 G 相同类别的新图。建议 G 和 H 要么都是有向的,要么都是无向的。
G 的节点被重新标记为 0 到 len(G)-1,H 的节点被重新标记为 len(G) 到 len(G)+len(H)-1。
重新编号强制 G 和 H 不相交,因此不会因名称冲突而引发异常。要保留对公共节点的检查,请使用 union()。
边和节点属性从 G 和 H 传播到联合图。图属性也会传播,但如果它们同时存在于 G 和 H 中,则使用 H 的值。
要合并具有公共节点的图,请考虑使用 compose(G, H) 或方法 Graph.update()。
Examples
>>> G = nx.Graph([(0, 1), (0, 2), (1, 2)]) >>> H = nx.Graph([(0, 3), (1, 2), (2, 3)]) >>> G.nodes[0]["key1"] = 5 >>> H.nodes[0]["key2"] = 10 >>> U = nx.disjoint_union(G, H) >>> U.nodes(data=True) NodeDataView({0: {'key1': 5}, 1: {}, 2: {}, 3: {'key2': 10}, 4: {}, 5: {}, 6: {}}) >>> U.edges EdgeView([(0, 1), (0, 2), (1, 2), (3, 4), (4, 6), (5, 6)])
Additional backends implement this function
graphblas : OpenMP-enabled sparse linear algebra backend.