有没有一种有效的算法来检测有向图中的循环?我有一个有向图,表示需要执行的作业计划,作业是一个节点,依赖项是一个边。我需要检测这个图中导致循环依赖关系的循环的错误情况。

我理解DFS和BFS之间的区别,但是我想知道在选择DFS和BFS时应该考虑哪些因素。比如对于非常深的树避免DFS,等等。