Breadth first search in java

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

We have already seen about breadth first search in level order traversal of binary tree.

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:

Steps for Breadth first search:

  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:

Graph
Breadth first search traversal

Java BFS Example

There are two ways to represent a graph.

  • Using Neighbours list
  • Using Adjacency Matrix

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

Using Adjacency Matrix

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

Below diagram will help you to understand adjacency matrix.

Adjacency Matrix
Create BreadthFirstSearchExample.java

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

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


import_contacts

You may also like:

Related Posts

  • 11 September

    RSA Encryption and Decryption in Java

    Table of ContentsIntroductionGenerate RSA key pairEncrypt a random textDecrypt the random textConclusion Introduction RSA is a short form for Rivest, Shamir, and Adleman, are the people who first publicly described it in 1977. It is an algorithm for asymmetric cryptography which involves the use of two keys. A public key, which can be known to […]

  • 10 September

    How to remove element from Arraylist in java while iterating

    Table of ContentsIntroductionUsing Collection’s removeIf() methodUsing ListIterator classUsing removeAll() methodUsing Java 8 Stream to filter List itemsConclusion Introduction In this tutorial, you will learn how to remove element from Arraylist in java while iterating using different implementations provided by Java. It is necessary to understand the right way to remove items from a List because […]

  • Watch New Release Movies Online Free Without Signing Up
    10 September

    Watch New Release Movies Online Free Without Signing Up: Top 22 Websites

    Table of ContentsWatch New Release Movies Online Free Without Signing UpWatch New Release Movies Online Free Without Signing Up: Best Websites123MoviesFMoviesWatchFreeYes MoviesYifi MoviesWatch Movie StreamSolar MoviesPut LockerSony CrackleMovies JoyYo MoviesPopcorn FlixCracklePluto TVSome other Platforms to Watch New Release Movies Online Free Without Signing Up It is Saturday night again, and are you tired of signing […]

  • 10 September

    Change the font size of title in Matplotlib

    In Python, there are a lot of libraries that are used for data visualization. One of the libraries is the Matplotlib library. The Matplotlib library is a very good library when it comes to data visualisation in python. With the help of this library, many types of graphs and visual representations of the data can […]

  • Free movie apps for android
    08 September

    22 Best Free Movie Apps For Android

    Table of ContentsThe Most Promising Free Movie Apps for AndroidPopcornflixSony CrackleFreeFlix HQVuduTubi TVFilm RiseUKMovNowCrunchyrollCyberflix TVYidioPluto TVTea TVPlexMovies AnywhereOld MoviesCinema HDVideoMixKodiSnagfilmsIMDB OriginalsFree Movie Tube App for AndroidMegabox HDFrequently Asked Questions About Free Movie Apps for AndroidDo there exist free movie apps for Android?Which are the best free movie apps for Android?Is it safe to use the […]

  • Free live tv streaming sites
    08 September

    Best Free Live TV Streaming Sites in 2021

    Table of ContentsBest Free Live TV Streaming Sites in 2021Stream2WatchTVPlayerUSTVGO123TVPluto TVUStreamXumoOK Live TVAiry TVPlex Live TVDistro TVCrackstreamsSquid TVFree TVMX PlayerTV CatchupTime4TVPeacock TVYupp TVSports SurgeFrequently Asked Questions About Free Live TV Streaming SitesIs watching free live tv streaming sites possible on Android/Firestick?What are the best free live TV streaming sites?Are the free live tv streaming sites […]

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.