图表只有一个根。它以以下格式保存:
0 -> 1,
0 -> 2,
1 -> 3,
1 -> 4,
2 -> 4,
2 -> 5,
4 -> 5,
5 -> 2 (This is the cycle)
使用Java检测图中是否存在至少一个循环的最有效方法是什么?谢谢!
答案 0 :(得分:0)
正如评论中所提到的,可能是某种类似DFS的
SET isCyclic to false
DFS(node)
IF isCyclic is true THEN
RETURN
FOR each neighbor in node.neighbors
IF node.visited is true THEN
SET isCyclic to true
RETURN
SET neighbor.visited to true
DFS(neighbor)