繁体   English   中英

如何在Python和Networkx中找到图形中的循环关系?

[英]How can I find circular relations in a graph with Python and Networkx?

考虑我有以下图表:

A -> B
B -> C
C -> D
C -> A

找到A - > B - > C - > A是一个循环关系的最简单方法是什么? 是否已经在NetworkX或其他易于使用的Python库中内置了这样的功能?

networkx.simple_cycles为您做到这一点。

>>> import networkx as nx
>>> G = nx.DiGraph()
>>> G.add_edge('A', 'B')
>>> G.add_edge('B', 'C')
>>> G.add_edge('C', 'D')
>>> G.add_edge('C', 'A')
>>> nx.simple_cycles(G)
[['A', 'B', 'C', 'A']]

使用深度优先搜索来检测图形中的循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM