2024-06-16 17:03:26 发布
网友
我有一个有向循环图,其中有不止一个循环,我需要一种方法来检测(并列出)有向图中存在的每个循环。在
图可以在这里看到:http://img412.imageshack.us/img412/3327/schematic.gif
这是为了调试python脚本而组合在一起的虚拟图。它包含以下循环:
[n13, n14], [n6, n8, n15, n16, n7], [n6, n8, n9, n7]
算法必须检测有向图中的每个周期,而不仅仅是它遇到的最小的或第一个。在
您没有真正指定如何表示有向图,但是您可以看看Neopythonic:Detecting Cycles in directed graph。在
python图只找到一个循环,而不是所有可能的循环。参见:
http://groups.google.com/group/python-graph/browse_thread/thread/9170926f1bdd097b
另一篇文章似乎解决了这个问题:
http://www.bitformation.com/art/python_toposort.html
它使用的是R.E.Tarjan在1972年设计的算法
您可能想尝试使用这个library。它有一个循环检测算法。在
您没有真正指定如何表示有向图,但是您可以看看Neopythonic:Detecting Cycles in directed graph。在
python图只找到一个循环,而不是所有可能的循环。参见:
http://groups.google.com/group/python-graph/browse_thread/thread/9170926f1bdd097b
另一篇文章似乎解决了这个问题:
http://www.bitformation.com/art/python_toposort.html
它使用的是R.E.Tarjan在1972年设计的算法
您可能想尝试使用这个library。它有一个循环检测算法。在
相关问题 更多 >
编程相关推荐