inverse_line_graph#
- inverse_line_graph(G)[source]#
返回图 G 的逆线图。
如果 H 是一个图,且 G 是 H 的线图,使得 G = L(H)。 那么 H 是 G 的逆线图。
并非所有图都是线图,这些图没有逆线图。 在这些情况下,此函数会引发 NetworkXError。
- Parameters:
- Ggraph
一个 NetworkX 图
- Returns:
- Hgraph
G 的逆线图
- Raises:
- NetworkXNotImplemented
如果 G 是有向图或多元图
- NetworkXError
如果 G 不是线图
Notes
这是 Roussopoulos 算法的实现[1]。
如果 G 由多个连通分量组成,则该算法不适用。 您应该分别对每个连通分量进行逆变换:
>>> K5 = nx.complete_graph(5) >>> P4 = nx.Graph([("a", "b"), ("b", "c"), ("c", "d")]) >>> G = nx.union(K5, P4) >>> root_graphs = [] >>> for comp in nx.connected_components(G): ... root_graphs.append(nx.inverse_line_graph(G.subgraph(comp))) >>> len(root_graphs) 2
References
[1]Roussopoulos, N.D. , “A max {m, n} algorithm for determining the graph H from its line graph G”, Information Processing Letters 2, (1973), 108–112, ISSN 0020-0190, DOI link