Given an undirected graph, a source vertex ‘s’ and a destination vertex ‘d’, the task is to count total paths from given ‘s’ to ‘d’.
Input: s = 1, d = 4
Below are the 2 paths from 1 to 4
1 -> 3 -> 4
1 -> 2 -> 3 -> 4
Input: s = 3, d = 9
Below are the 6 paths from 3 to 9
3 -> 2 -> 1 -> 7 -> 6 -> 5 -> 10 -> 9
3 -> 2 -> 1 -> 7 -> 6 -> 10 -> 9
3 -> 2 -> 1 -> 7 -> 8 -> 9
3 -> 4 -> 2 -> 1 -> 7 -> 6 -> 5 -> 10 -> 9
3 -> 4 -> 2 -> 1 -> 7 -> 6 -> 10 -> 9
3 -> 4 -> 2 -> 1 -> 7 -> 8 -> 9
The idea is to do Depth First Traversal of given undirected graph.
- Start the traversal from the source.
- Keep storing the visited vertices in an array say ‘visited’.
- If we reach the destination vertex, increment the count by ‘1’.
- The important thing is to mark current vertices in visited as visited, so that the traversal doesn’t go in cycles.
Below is the implementation of the above approach:
- Time Complexity: In the above approach, for a given vertex, we check all vertices, So the time complexity is O(N*N) where N is no of vertices.
- Auxiliary Space Complexity: In the above approach, we are using a visited array of size N where N is number of vertices, so Auxiliary space complexity is O(N).
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Count number of ways to reach destination in a maze
- Shortest path in a graph from a source S to destination D with exactly K edges for multiple Queries
- Count all possible walks from a source to a destination with exactly k edges
- Count number of edges in an undirected graph
- Count the number of Prime Cliques in an undirected graph
- Count of unique lengths of connected components for an undirected graph using STL
- Program to count Number of connected components in an undirected graph
- Count ways to reach a score using 1 and 2 with no consecutive 2s
- Count number of ways to reach a given score in a Matrix
- Count ways to reach the Nth stair using any step from the given array
- Print all paths from a given source to a destination using BFS
- Print all paths from a given source to a destination
- Number of Walks from source to destination
- Print path from given Source to Destination in 2-D Plane
- Shortest Path with even number of Edges from Source to Destination
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.