is_perfect_matching#

is_perfect_matching(G, matching)[source]#

如果 matchingG 的一个完美匹配,则返回 True

图中的一个完美匹配是指每个顶点恰好有一条边与之关联的匹配。

参数:
GNetworkX 图
matching字典或集合

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

返回:
bool

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

示例

>>> G = nx.Graph([(1, 2), (1, 3), (2, 3), (2, 4), (3, 5), (4, 5), (4, 6)])
>>> my_match = {1: 2, 3: 5, 4: 6}
>>> nx.is_perfect_matching(G, my_match)
True