当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX recursive_simple_cycles用法及代码示例


本文简要介绍 networkx.algorithms.cycles.recursive_simple_cycles 的用法。

用法:

recursive_simple_cycles(G)

找到有向图的简单循环(基本电路)。

simple cycleelementary circuit 是没有节点出现两次的封闭路径。如果两个基本电路不是彼此的循环排列,则它们是不同的。

此版本使用递归算法来构建循环列表。您可能应该使用名为simple_cycles() 的迭代器版本。警告:此递归版本使用大量 RAM!它出现在NetworkX 中以获得教学值。

参数

GNetworkX 有向图

有向图

返回

循环列表,其中每个循环由节点列表表示
沿着循环。
例子:
>>> edges = [(0, 0), (0, 1), (0, 2), (1, 2), (2, 0), (2, 1), (2, 2)]
    ..
>>> G = nx.DiGraph(edges)
    ..
>>> nx.recursive_simple_cycles(G)
    ..
[[0], [2], [0, 1, 2], [0, 2], [1, 2]]

注意

实现遵循[1]中的第79-80页。

节点、 边和 基本电路的时间复杂度为

参考

1

Finding all the elementary circuits of a directed graph. D. B. Johnson, SIAM Journal on Computing 4, no. 1, 77-84, 1975. https://doi.org/10.1137/0204007

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.cycles.recursive_simple_cycles。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。