匹配的边缘对于特定图形不是唯一的.
有没有办法找到所有最大匹配?
对于以下示例,下面的所有边可以是最大匹配:
{1: 2, 2: 1}或{1: 3, 3: 1}或{1: 4, 4: 1}
import networkx as nx
import matplotlib.pyplot as plt
G = nx.MultiDiGraph()
edges = [(1,3), (1,4), (1,2)]
nx.is_bipartite(G)
True
nx.draw(G, with_labels=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)
不幸,
nx.bipartite.maximum_matching(G)
Run Code Online (Sandbox Code Playgroud)
只返回
{1: 2, 2: 1}
Run Code Online (Sandbox Code Playgroud)
有没有办法可以获得其他组合?