如何检测
中的循环对于无向图..我想到的算法之一是使用不相交的集。
答案 0 :(得分:0)
对于无向的,只有use a DFS:如果一个边指向已经访问过的顶点,那么就有一个循环。
对于有针对性的人,请查看at this question。
答案 1 :(得分:0)
在无向图中查找循环的方法应该是这样的:
对于有向图,您应该使用Tarjan's strongly connected components algorithm来获取图中强组分的数量。然后,您可以检查强连接组件编号是否等于顶点编号。因为如果有向图中存在循环,则在相同的强连接组件中至少存在两个顶点。这意味着如果有向图具有循环,则强连接组件的总数应小于顶点数。