此文讨论一个无向图中存在环的问题,在不管多复杂的连通图中寻找出所有的环,使用删除点的方法。
此外,这个版本的查找方法可以用于其他场景:找出无向图中所有的环的算法
结果能找到最小的环,或许要靠运气,输出该输出的环...............,这是原始算法。
改进:
可以输出最大环(通过跳过多度点),可以输出最小子环(通过使用最短路径)......................
使用一个图:
比如在上图中,存在多个环(1,2,3,4,5,6)(6,7,8,9)(1,2,5,6)(1,2,3,5,6).........
怎么寻找呢?
一、使用删除边法
本例中,从顶点9开始,构建DFS
1.首先删除所有度数为1的点,这样点14就被删除。这样只剩下多度顶点的环