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