In this program, we are going to share Breadth First Search (BFS) Program in Java with the output. If you are a Java beginner and want to start learning the Java programming, then keep your close attention in this tutorial as I am going to share how to write a Java program for Breadth First Search (BFS).
Copy the below Java program and execute it with the help of Javac compiler. At the end of this program, We have shared the output of this program.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
import java.io.*; import java.util.*; class BreadthFirstSearchProgram { private int V; private LinkedList<Integer> adj[]; //constructor BreadthFirstSearchProgram(int v) { V = v; adj = new LinkedList[v]; for (int i=0; i<v; ++i) adj[i] = new LinkedList(); } void addEdge(int v,int w) { adj[v].add(w); } void BFS(int s) { boolean visited[] = new boolean[V]; LinkedList<Integer> queue = new LinkedList<Integer>(); visited[s]=true; queue.add(s); while (queue.size() != 0) { s = queue.poll(); System.out.print(s+" "); Iterator<Integer> i = adj[s].listIterator(); while (i.hasNext()) { int n = i.next(); if (!visited[n]) { visited[n] = true; queue.add(n); } } } } public static void main(String args[]) { Graph g = new Graph(4); g.addEdge(0, 1); g.addEdge(0, 2); g.addEdge(1, 2); g.addEdge(2, 0); g.addEdge(2, 3); g.addEdge(3, 3); System.out.println("Following is Breadth First Traversal "+"(starting from node 2)"); g.BFS(2); } } |
Following is Breadth First Traversal (starting from node 2)
2 0 3 1
Liked this program? Do Like & share with your friends.
If you like FreeWebMentor and you would like to contribute, you can write an article and mail your article to [email protected] Your article will appear on the FreeWebMentor main page and help other developers.
Article Tags: breadth first search algorithm with example, breadth first search java, Breadth First Search or BFS for a Graph, breadth first search shortest path, breadth first search vs depth first search, Java programs, Java programs with examples, Java programs with output, java programs with source code, list of java programs