数据结构用什么方法来判断有向图是否存在回路

2024-12-17 12:40:17
推荐回答(2个)
回答1:

数据结构中用拓扑排序来判断有向图是否存在回路。

用顶点表示活动、边表示活动间先后关系的有向图称做顶点活动网(AOV网)。一个AOV网应该是一个有向无环图,即不应该带有回路,因为若带有回路,则回路上的所有活动都无法进行。

在AOV网中,若不存在回路,则所有活动可排列成一个线性序列,使得每个活动的所有前驱活动都排在该活动的前面,数据结构中把此序列叫做拓扑序列,由AOV网构造拓扑序列的过程叫做拓扑排序。

综上,若一个有向图中存在拓扑排序,则有向图中不存在回路。

扩展资料:

在有向图进行拓扑排序的算法思想:

由AOV网构造拓扑序列的拓扑排序算法主要是循环执行以下两步,直到不存在入度为0的顶点为止。

1、选择一个入度为0的顶点并输出之;

2、从网中删除此顶点及所有出边。

循环结束后,若输出的顶点数小于网中的顶点数,则输出“有回路”信息,否则输出的顶点序列就是一种拓扑序列。

参考资料来源:百度百科-拓扑排序

参考资料来源:百度百科-有向图

回答2:

1.拓扑排序: 还有顶点未输出,但已经不存在没有前驱的顶点了
2.深搜:从一个顶点出发存在搜回到自己的路径