判断一个有向图是否存在回路
1️⃣ 利用拓扑排序算法,在拓扑排序算法结束后,如果还有顶点没有输出,则说明剩下这些结点都还有前驱,则它们构成一个有向回路
2️⃣ 设有向图具有n个顶点,若该图的边数e≥n,则该图一定有一个闭合的环
3️⃣ 设有向图具有n个顶点,若该图的每个顶点的出度至少为1,入度也至少为1,则图中一定有回路
4️⃣ 利用深度优先遍历算法,如果从有向图上的某个顶点v出发进行深度优先遍历,若在算法结束之前出现一条从顶点u到顶点v的回路,因u在生产树上是v的子孙,则图中必定存在包含顶点v和顶点u的环