建议先关注、点赞、收藏后再阅读。
判断无向图的连通性可以通过深度优先搜索(DFS)或广度优先搜索(BFS)来实现。
示例:
1------2------7 | | / | | / 5------3---6 | | 4
选择顶点1作为起始顶点,进行DFS。
结果:
1------2------7 | | / | | / 5------3---6 | | 4
所有顶点都被访问过,因此该无向图是连通的。
强连通分量(Strongly Connected Component,SCC)指的是有向图中的一个最大子图,该子图内的任意两个顶点均可达。要找到所有的强连通分量,可以使用Tarjan算法。
示例:
1---->2<----7 | /| ^ \ | / v | \ 5-->3 6--->4
使用Tarjan算法找到所有的强连通分量。
结果:
1 7 | / | / 2<---3--->6 | \ v v 5------->4
有向图的强连通分量为:{1,2,3,5},{6},{4},{7}。