Given an adjacency list representation of a directed graph, the task is to find the path from source to every other node in the graph using BFS.
Input: Output: 0 <- 2 1 <- 0 <- 2 2 3 <- 1 <- 0 <- 2 4 <- 5 <- 2 5 <- 2 6 <- 2
Approach: In the images shown below:
- que array stores the vertices reached and we will enqueue a vertex only if it has not been visited and dequeue it once all its child node have been considered.
- In order to distinguish whether the node has been visited or not we will put 1 in visited array at the respective index to signify it has been visited and if at given index 0 is present it will signify that it has not been visited.
- Parent array is to store the parent node of each vertex. For ex. In case of 0 connected to 2, 2 will be the parent node of 0 and we will put 2 at the index 0 in the parent array.
Below is the implementation of the above approach:
0 <- 2 1 <- 0 <- 2 2 3 <- 1 <- 0 <- 2 4 <- 5 <- 2 5 <- 2 6 <- 2
- Java Program for Finding the vertex, focus and directrix of a parabola
- Finding minimum vertex cover size of a graph using binary search
- Shortest path from source to destination such that edge weights along path are alternatively increasing and decreasing
- Find a Mother Vertex in a Graph
- Find the Degree of a Particular vertex in a Graph
- All vertex pairs connected with exactly k edges in a graph
- Vertex Cover Problem | Set 1 (Introduction and Approximate Algorithm)
- Add and Remove vertex in Adjacency Matrix representation of Graph
- k'th heaviest adjacent node in a graph where each vertex has weight
- Topological Sort of a graph using departure time of vertex
- Color tree with minimum colors such that colors of edges incident to a vertex are different
- Finding in and out degrees of all vertices in a graph
- Finding the probability of a state at a given time in a Markov chain | Set 2
- Path in a Rectangle with Circles
- Shortest path in a Binary Maze
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : rituraj_jain