full_join#

full_join(G, H, rename=(None, None))[source]#

返回图 G 和 H 的全连接。

全连接是 G 和 H 的并集,其中所有 G 和 H 之间的边都被添加。 G 和 H 的节点集必须不相交,否则会引发异常。

Parameters:
G, H

一个 NetworkX 图

rename元组, 默认=(None, None)

可以通过指定元组 rename=(‘G-‘,’H-’) 来更改 G 和 H 的节点名称(例如)。G 中的节点 “u” 将被重命名为 “G-u”,H 中的节点 “v” 将被重命名为 “H-v”。

Returns:
U与 G 类型相同的全连接图。

Notes

建议 G 和 H 要么都是有向的,要么都是无向的。

如果 G 是有向的,那么会添加从 G 到 H 以及从 H 到 G 的边。

注意,full_join() 不会为 MultiGraphs 生成平行边。

图 G 和 H 的全连接操作与获取它们的补图、执行不相交并集,最后获取结果图的补图相同。

图、边和节点属性从 G 和 H 传播到并集图。如果 G 和 H 中都存在某个图属性,则使用 H 中的值。

Examples

>>> G = nx.Graph([(0, 1), (0, 2)])
>>> H = nx.Graph([(3, 4)])
>>> R = nx.full_join(G, H, rename=("G", "H"))
>>> R.nodes
NodeView(('G0', 'G1', 'G2', 'H3', 'H4'))
>>> R.edges
EdgeView([('G0', 'G1'), ('G0', 'G2'), ('G0', 'H3'), ('G0', 'H4'), ('G1', 'H3'), ('G1', 'H4'), ('G2', 'H3'), ('G2', 'H4'), ('H3', 'H4')])

Additional backends implement this function

graphblas : OpenMP-enabled sparse linear algebra backend.