Given a directed graph, a source vertex ‘src’ and a destination vertex ‘dst’, print all paths from given ‘src’ to ‘dst’.
Consider the following directed graph. Let the src be 2 and dst be 3. There are 3 different paths from 2 to 3.
We have already discussed Print all paths from a given source to a destination using DFS.
Below is BFS based solution.
create a queue which will store path(s) of type vector initialise the queue with first path starting from src Now run a loop till queue is not empty get the frontmost path from queue check if the lastnode of this path is destination if true then print the path run a loop for all the vertices connected to the current vertex i.e. lastnode extracted from path if the vertex is not visited in current path a) create a new path from earlier path and append this vertex b) insert this new path to queue
path from src 2 to dst 3 are 2 0 3 2 1 3 2 0 1 3
This article is contributed by Mandeep Singh. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Print all paths from a given source to a destination
- Number of Walks from source to destination
- Count all possible walks from a source to a destination with exactly k edges
- Minimum edges to reverse to make path from a source to a destination
- Shortest paths from all vertices to a destination
- Shortest path from source to destination such that edge weights along path are alternatively increasing and decreasing
- Minimum cost path from source node to destination node via an intermediate node
- Minimum steps to reach a destination
- Sudo Placement[1.3] | Final Destination
- Count number of ways to reach destination in a Maze using BFS
- Find the minimum cost to reach destination using a train
- Find if there is a path of more than k length from a source
- Minimum distance to the corner of a grid from source
- Multi Source Shortest Path in Unweighted Graph
- Count all possible paths between two vertices