无向图dfs求连通分量

无向图dfs求连通分量:
    1 : 类比森林,一个图也可能由多个 子图构成,每个子图就是一个连通分量。
    2:所以即是找到 这些子图 各自的顶点集合。
    3:dfs可以遍历一个连通图。所以 每次dfs都可以求得一个连通分量(子图). 从每个可能的顶点出发dfs,最终就可以得到所有子图。


package Graph;
 
import java.util.LinkedList;
 
//求图的连通子图
public class CC {
    private boolean[] isVisited;
    private int[] id;//顶点i属于第几个连通分量
    private int count;//连通分量数目
     
    public CC(Graph g){//图g
        isVisited = new boolean[g.v];
        id = new int[g.v];
         
        for(int i=0;i list = new LinkedList<>();
        list.add(new Element(0,2));
        list.add(new Element(0, 5));
        list.add(new Element(3,4));
         
        Graph graph = new Graph(6, list);
        CC cc = new CC(graph);
    }
}


你可能感兴趣的:(数据结构与算法)