is_matching#

is_matching(G, matching)[source]#

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

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

Parameters:
GNetworkX 图
matching字典或集合

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

Returns:
bool

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

Raises:
NetworkXError

如果提议的匹配包含指向 G 中不存在的节点的边。 或者如果匹配不是由 2-元组边组成的集合。

Examples

>>> G = nx.Graph([(1, 2), (1, 3), (2, 3), (2, 4), (3, 5), (4, 5)])
>>> nx.is_maximal_matching(G, {1: 3, 2: 4})  # 使用字典表示匹配
True
>>> nx.is_matching(G, {(1, 3), (2, 4)})  # 使用集合表示匹配
True