判断一个有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用

判断一个有向图是否存在回路,除了可以利用拓扑排序方法外,还可以利用()

A 求关键路径的方法
B 求最短路径的Dijkstra方法
C 深度优先遍历算法
D 广度优先遍历算法

答案:C (dfs)

利用深度优先遍历可以判断图G中是否存在回路。对于无向图来说,若深度优先遍历过程中遇到了回边,则必定存在环;对于有向图来说,这条回边可能是指向深度优先森林中另一棵生成树上的顶点的弧;但是,从有向图的某个顶点V出发进行深度优先遍历时,若在DFS(v)结束之前出现一条从顶点u到顶点v的回边,且u在生成树上是v的子孙,则有问图必定存在包含顶点v和顶点u的环。

你可能感兴趣的:(数据结构)