【问题标题】:Detecting mulitple cycles in a cyclic directed graph在循环有向图中检测多个循环
【发布时间】:2010-07-28 02:38:38
【问题描述】:

我有一个包含多个循环的有向循环图,我需要一种方法来检测(并列出)有向图中存在的每个循环。

图表可以在这里看到:http://img412.imageshack.us/img412/3327/schematic.gif

这是一个虚拟图,用于调试我的 python 脚本。它包含循环:

[n13, n14], [n6, n8, n15, n16, n7], [n6, n8, n9, n7]

算法必须检测有向图中的每个循环,而不仅仅是最小的也不是它遇到的第一个。

【问题讨论】:

标签: python graph-theory cycle directed-graph


【解决方案1】:

您没有真正指定如何表示有向图,但您可以查看Neopythonic:Detecting Cycles in directed graph

【讨论】:

    【解决方案2】:

    AFAIK,python-graph 只找到一个循环,而不是所有可能的循环。见:

    http://groups.google.com/group/python-graph/browse_thread/thread/9170926f1bdd097b

    这篇其他文章似乎解决了这个问题中提出的问题:

    http://www.bitformation.com/art/python_toposort.html

    它使用的是 R. E. Tarjan 在 1972 年设计的算法

    【讨论】:

      【解决方案3】:

      您可能想尝试使用此library。有循环检测算法。

      【讨论】:

        猜你喜欢
        • 2017-01-19
        • 2016-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多