# Breadth first search in java

If you want to practice data structure and algorithm programs, you can go through 100+ java coding interview questions.

## Graph traversal Algorithms:

Breadth first search is graph traversal algorithm. In this algorithm, lets say we start with node i, then we will visit neighbours of i, then neighbours of neighbours of i and so on.

It is very much similar to which is used in binary tree. We use queue to traverse graph. We put first node in queue . It repeatedly extracts node and put its neighbours in the queue. Only difference with respect to binary tree is that we need to track if node have been visited before or not. It can be easily done with help of boolean variable visited in the node. If node have been already visited then we won’t visit it again.

#### Algorithm:

1. Create empty queue and push root node to it.
2. Do the following when queue is not empty
• Pop a node from queue and print it.
• Find neighbours of node with the help of adjacency matrix and check if node is already visited or not.
• Push neighbours of node into queue if not null

Lets understand with the help of example:
Lets say graph is:

## Java BFS Example

There are two ways to represent a graph.

• Using Neighbours list

### Using Neighbours list

In this, you can have List<Node> as neighbours in Node class as below.

When you run above program, you will get below output:

The BFS traversal of the graph is
40 10 20 30 60 50 70

Adjacency_matrix is used to find the connection between two nodes.

if adjacency_matrix[i][j]==1, then nodes at index i and index j are connected

When you run above program, you will get below output:

Please go through Algorithm Interview Programs in java  for more such programs.

import_contacts

## Related Posts

• 25 June

### Convert Roman Number to Integer in Python

Table of ContentsHow to Convert Roman Number to Integer in PythonHow to convert roman number to integer in python?Using the if...else statement to convert roman number to integer in Python.Using classes and a dictionary to convert roman number to integer in Python.Using the roman module to convert roman number to integer in Python.ConclusionWas this post […]

• 11 June

### Remove Single Quotes from String in Python

Table of ContentsRemove single quotes from string in Python.How to remove single quotes from string in Python?Using the replace() function to remove single quotes from string in Python.Using a for loop to remove single quotes from string in Python.Using the join() function to remove single quotes from string in Python.Using the re module functions to […]

• 11 June

### Escape Backslash Character in Python

Table of ContentsEscape backslash character in python.How to use escape backslash character in python?Using the escape backslash character in python to represent whitespace characters.Using the escape backslash character in python to turn special characters into ordinary characters.Using the escape backslash character in f-strings in Python.Using the escape backslash character in raw strings in Python.Was this […]

• 11 June

### Remove Parentheses From String in Java

Table of ContentsJava StringsRemove Parentheses From a String Using the replaceAll() MethodRemove Parentheses From a String by TraversingConclusionWas this post helpful? Java uses the Strings data structure to store the text data. This article discusses methods to remove parentheses from a String in Java. Java Strings Java Strings is a class that stores the text […]

• 11 June

### Break out of function in Python

Table of ContentsBreak out of function in PythonHow to break out of function in Python?Using the return statement to break out of function in PythonUsing the try and except block to break out of function in PythonUsing the sys.exit() function to break out of function in PythonConclusionWas this post helpful? In this post, we will […]

• 11 June

### Check if Object Is Iterable in Python

Table of ContentsWhat are iterables in Python?How to check if object is iterable in Python?Using the iter() function to check if object is iterable in PythonUsing the for loop to check if object is iterable in PythonUsing the isinstance() function to check if object is iterable in PythonConclusionWas this post helpful? In this post, we […]

## Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.