edge_boundary#

edge_boundary(G, nbunch1, nbunch2=None, data=False, keys=False, default=None)[source]#

返回 nbunch1 的边边界。

集合 *S* 关于集合 *T* 的*边边界*是边 (*u*, *v*) 的集合,其中 *u* 属于 *S* 且 *v* 属于 *T*。如果未指定 *T*,则假定 *T* 是不属于 *S* 的所有节点的集合。

参数:
GNetworkX 图
nbunch1可迭代对象

图中的节点可迭代对象,表示将返回其边边界的节点集合。(这是上述定义中的集合 *S*。)

nbunch2可迭代对象

表示目标(或“外部”)节点集合的节点可迭代对象。(这是上述定义中的集合 *T*。)如果未指定,则假定这是 G 中不属于 nbunch1 的所有节点的集合。

keys布尔值

此参数与 MultiGraph.edges() 中的含义相同。

data布尔值或对象

此参数与 MultiGraph.edges() 中的含义相同。

default对象

此参数与 MultiGraph.edges() 中的含义相同。

返回值:
迭代器

一个迭代器,遍历 nbunch1 关于 nbunch2 的边界中的边。如果指定了 keysdatadefault,且 G 是多重图,则边将带有关联键和/或数据返回,如同 MultiGraph.edges() 中所示。

注意

nbunch 中任何不在图 G 中的元素都将被忽略。

nbunch1nbunch2 通常应是不相交的,但为了速度和通用性,此处不强制要求。

示例

>>> G = nx.wheel_graph(6)

当 nbunch2=None 时

>>> list(nx.edge_boundary(G, (1, 3)))
[(1, 0), (1, 2), (1, 5), (3, 0), (3, 2), (3, 4)]

当指定 nbunch2 时

>>> list(nx.edge_boundary(G, (1, 3), (2, 0)))
[(1, 0), (1, 2), (3, 0), (3, 2)]
----

其他后端也实现了此函数

graphblas : 支持 OpenMP 的稀疏线性代数后端。