可能重复:
在有向图中检测循环的最佳算法
我正在寻找一种算法来查找有向图中的循环。
我的图只在节点中有标签,而不是在边缘,它可以变得非常大。
算法的输出应该是作为一组列表的循环,每个列表应该包含循环中涉及的节点的标签,因此,列表中的第一个和最后一个元素应该是相同的。
我使用的图表很可能只有一个连通分量,没有强连通分量。预计周期数会很低(我仍然需要检查)。
欢迎任何针对此或类似内容的好的算法。
非常感谢。
PS:如果有不清楚的地方随时问我更多细节,例如,图(到目前为止)存储为一组边,从一个节点到几个节点,通常是一个,这应该是无关紧要的,恕我直言。