Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. One starts at the root (selecting some arbitrary node as the root in the case of a graph) and explores as far as possible along each branch before backtracking. Here are some important DFS problems asked in Technical Interviews:

- Find number of islands
- Transitive closure of a graph using DFA
- Application of DFS
- Detect cycle in an undirected graph
- Longest path between any pair of vertices
- Find a mother vertex in a graph
- Iterative Depth first traversal
- Print all path from a given source to a destination
- Stepping Number
- Maximum product of two non- intersecting paths in a tree

All articles on Depth First Search

This article is contributed by **Ayushmaan Bansal**. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. 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.