(java)DFS求连通分量的个数

来源:互联网 发布:王者荣耀钓鱼源码 编辑:程序博客网 时间:2024/05/19 17:48

直接上代码:

import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubint[][] g=new int[][]{{0,1,0,0},{1,0,0,0},{0,0,0,0},{0,0,0,0}};System.out.println(DFS(g));}public static int DFS(int[][] grid){boolean[] visited=new boolean[grid.length];int count=0;for(int i=0;i<grid.length;i++){if(!visited[i]){count++;dfs(i,grid,visited);}}return count;}public static void dfs(int i,int[][] grid,boolean[] visited){visited[i]=true;for(int j=0;j<grid.length;j++){if(!visited[j] && grid[i][j]==1){dfs(j,grid,visited);}}}}


0 0