But*_*840 7 python algorithm graph-theory networkx
考虑我有以下图表:
A -> B
B -> C
C -> D
C -> A
Run Code Online (Sandbox Code Playgroud)
找到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']]
Run Code Online (Sandbox Code Playgroud)