is_matching#

is_matching(G, matching)[源代码]#

如果 matching 是图 G 的有效匹配,则返回 True

图中的匹配是一组边,其中任意两条不同的边都没有共同的端点。匹配中的每条边最多与一个节点关联。这些边被称为独立边。

参数:
GNetworkX 图
matchingdict 或 set

表示匹配的字典或集合。如果是字典,对于匹配中的每条边 (u, v),必须满足 matching[u] == vmatching[v] == u。如果是集合,其元素形式必须为 (u, v),其中 (u, v) 是匹配中的一条边。

返回值:
bool

给定的集合或字典是否表示图中的有效匹配。

引发:
NetworkXError

如果提议的匹配包含连接到不在 G 中的节点的边。或者如果匹配不是由 2 元组边组成的集合。

示例

>>> G = nx.Graph([(1, 2), (1, 3), (2, 3), (2, 4), (3, 5), (4, 5)])
>>> nx.is_maximal_matching(G, {1: 3, 2: 4})  # using dict to represent matching
True
>>> nx.is_matching(G, {(1, 3), (2, 4)})  # using set to represent matching
True