Skip to content

Commit 842132d

Browse files
Add files via upload
1 parent 9520b7a commit 842132d

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

BFS.txt

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import java.util.Scanner;
2+
import java.util.Queue;
3+
import java.util.*;
4+
5+
public class Solution {
6+
7+
public static void printHelper(int edges[][], int sv,boolean visited[]){
8+
Queue<Integer> q = new LinkedList<>();
9+
q.add(sv);
10+
visited[sv]=true;
11+
while(q.size()!=0){
12+
int firstelem = q.remove();
13+
System.out.print(firstelem+" ");
14+
for(int i=0; i<edges.length; i++){
15+
if(edges[firstelem][i]==1 && !visited[i]){
16+
q.add(i);
17+
visited[i]=true;
18+
}
19+
}
20+
}
21+
}
22+
// we have to deal with both connected and non connected
23+
public static void print(int edges[][]){
24+
boolean visited[] = new boolean[edges.length];
25+
for(int i=0; i< edges.length; i++){
26+
if(!visited[i]){
27+
printHelper(edges, i, visited);
28+
}
29+
}
30+
}
31+
public static void main(String[] args) {
32+
Scanner s = new Scanner(System.in);
33+
int V = s.nextInt();
34+
int E = s.nextInt();
35+
int edges[][] = new int[V][V];
36+
for(int i =0; i< E; i++){
37+
int fv = s.nextInt();
38+
int sv = s.nextInt();
39+
edges[fv][sv] = 1;
40+
edges[sv][fv] =1;
41+
}
42+
print(edges);
43+
}
44+
}

0 commit comments

Comments
 (0)