二分图的连通分量
Connected components of bipartite graphs
我想使用 networkx
从二分图中提取连通分量(作为二分图)。但是 networkx
中的连通分量不是针对二部图的,而是一般的无向图和有向图。有二分图的例子吗?谢谢
对应于二分图(实际上是任何图)的连通分量的子图本身携带所有节点属性,因此特别是,您可以使用它们来标记您的分区,如 the docs 中所示:
In [28]: B = nx.Graph()
...: B.add_nodes_from([1, 2, 3, 4], bipartite=0)
...: B.add_nodes_from(['a', 'b', 'c'], bipartite=1)
...: B.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'a'), (3, 'c'), (4, 'c')])
...:
...: G = B.subgraph(next(nx.connected_components(B)))
In [30]: G.nodes
Out[30]: NodeView((1, 2, 'a', 'b'))
In [31]: G.nodes[1]
Out[31]: {'bipartite': 0}
我想使用 networkx
从二分图中提取连通分量(作为二分图)。但是 networkx
中的连通分量不是针对二部图的,而是一般的无向图和有向图。有二分图的例子吗?谢谢
对应于二分图(实际上是任何图)的连通分量的子图本身携带所有节点属性,因此特别是,您可以使用它们来标记您的分区,如 the docs 中所示:
In [28]: B = nx.Graph()
...: B.add_nodes_from([1, 2, 3, 4], bipartite=0)
...: B.add_nodes_from(['a', 'b', 'c'], bipartite=1)
...: B.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'a'), (3, 'c'), (4, 'c')])
...:
...: G = B.subgraph(next(nx.connected_components(B)))
In [30]: G.nodes
Out[30]: NodeView((1, 2, 'a', 'b'))
In [31]: G.nodes[1]
Out[31]: {'bipartite': 0}