图的深度优先搜索
深度优先搜索以“深度”作为第一个关键词,每次都是沿着路径到不能再前进时才退回到最近的岔道口。
(1)连通分量:在无向图中,如果两个顶点之间可以互相到达(可以是通过一定路径间接到达),那么称为这两个顶点连通。如果图G(V,E)的任意两个顶点都连通,则称图G为连通图;否则称图G为非连通图,且称其中的极大连通子图为连通分量。
(2)强连通分量:在有向图中,如果两个顶点可以各自通过一条有向路径到达另一个顶点,就称这两个顶点强连通。如果图G(V,E)的任意两个顶点都强连通,则称图G为强联通图;否则称图G为非强连通图,且称其中的极大强连通子图为强连通分量。
连通分量和强连通分量均称为连通块。
DFS遍历图的基本思路就是将经过的顶点设置为已访问,在下次递归碰到这个顶点就不再去处理,直到整个图的顶点都标记为已访问。如果已知给定的图是一个连通图,则只需要一次DFS就能完成遍历。