数据结构中用拓扑排序来判断有向图是否存在回路。
用顶点表示活动、边表示活动间先后关系的有向图称做顶点活动网(AOV网)。一个AOV网应该是一个有向无环图,即不应该带有回路,因为若带有回路,则回路上的所有活动都无法进行。
在AOV网中,若不存在回路,则所有活动可排列成一个线性序列,使得每个活动的所有前驱活动都排在该活动的前面,数据结构中把此序列叫做拓扑序列,由AOV网构造拓扑序列的过程叫做拓扑排序。
综上,若一个有向图中存在拓扑排序,则有向图中不存在回路。
扩展资料:
在有向图进行拓扑排序的算法思想:
由AOV网构造拓扑序列的拓扑排序算法主要是循环执行以下两步,直到不存在入度为0的顶点为止。
1、选择一个入度为0的顶点并输出之;
2、从网中删除此顶点及所有出边。
循环结束后,若输出的顶点数小于网中的顶点数,则输出“有回路”信息,否则输出的顶点序列就是一种拓扑序列。
参考资料来源:百度百科-拓扑排序
参考资料来源:百度百科-有向图
1.拓扑排序: 还有顶点未输出,但已经不存在没有前驱的顶点了
2.深搜:从一个顶点出发存在搜回到自己的路径