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