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