is_matching#
- is_matching(G, matching)[source]#
如果
matching
是图G
的有效匹配,则返回 True图中的 匹配 是一组边,其中没有两条不同的边共享一个公共端点。每个节点最多与匹配中的一条边相关联。这些边被称为独立的。
- Parameters:
- GNetworkX 图
- matching字典或集合
表示匹配的字典或集合。如果是字典,则必须对匹配中的每条边
(u, v)
满足matching[u] == v
和matching[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