Skip to content

Commit 1bbe706

Browse files
Merge pull request #367 from siddhartthecoder/new-branch
added a bfs program in javaunder the BFS folder
2 parents 0d3f1d8 + 76a1e61 commit 1bbe706

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

BFS/bfs.java

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
import java.util.*;
2+
import java.lang.*;
3+
4+
class bfs
5+
{
6+
private Queue<Node> queue;
7+
static ArrayList<Node> nodes=new ArrayList<Node>();
8+
static class Node
9+
{
10+
int data;
11+
boolean visited;
12+
List<Node> neighbours;
13+
14+
Node(int data)
15+
{
16+
this.data=data;
17+
this.neighbours=new ArrayList<>();
18+
19+
}
20+
public void addneighbours(Node neighbourNode)
21+
{
22+
this.neighbours.add(neighbourNode);
23+
}
24+
public List<Node> getNeighbours() {
25+
return neighbours;
26+
}
27+
public void setNeighbours(List<Node> neighbours) {
28+
this.neighbours = neighbours;
29+
}
30+
}
31+
32+
public bfs()
33+
{
34+
queue = new LinkedList<Node>();
35+
}
36+
37+
public void bfs_node(Node node)
38+
{
39+
queue.add(node);
40+
node.visited=true;
41+
while (!queue.isEmpty())
42+
{
43+
44+
Node element=queue.remove();
45+
System.out.print(element.data + "t");
46+
List<Node> neighbours=element.getNeighbours();
47+
for (int i = 0; i < neighbours.size(); i++) {
48+
Node n=neighbours.get(i);
49+
if(n!=null && !n.visited)
50+
{
51+
queue.add(n);
52+
n.visited=true;
53+
54+
}
55+
}
56+
57+
}
58+
}
59+
60+
61+
public static void main(String args[])
62+
{
63+
Node node40 =new Node(40);
64+
Node node10 =new Node(10);
65+
Node node20 =new Node(20);
66+
Node node30 =new Node(30);
67+
Node node60 =new Node(60);
68+
Node node50 =new Node(50);
69+
Node node70 =new Node(70);
70+
71+
node40.addneighbours(node10);
72+
node40.addneighbours(node20);
73+
node10.addneighbours(node30);
74+
node20.addneighbours(node10);
75+
node20.addneighbours(node30);
76+
node20.addneighbours(node60);
77+
node20.addneighbours(node50);
78+
node30.addneighbours(node60);
79+
node60.addneighbours(node70);
80+
node50.addneighbours(node70);
81+
System.out.println("The BFS traversal of the graph is ");
82+
bfs bfsExample = new bfs();
83+
bfsExample.bfs_node(node40);
84+
System.out.println("");
85+
}
86+
}
87+
88+
89+

0 commit comments

Comments
 (0)