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.

## Recommended Posts:

- Applications of Depth First Search
- Depth First Search or DFS for a Graph
- Iterative Deepening Search(IDS) or Iterative Deepening Depth First Search(IDDFS)
- SQL Interview Questions
- Top 25 Interview Questions
- Top 10 algorithms in Interview Questions | Set 2
- Top 10 algorithms in Interview Questions
- Top 20 Backtracking Algorithm Interview Questions
- Amazon's most asked interview questions
- Interview Questions for Java Professionals
- Java Interview Questions on Constructors
- Top 20 Dynamic Programming Interview Questions
- Top 20 Greedy Algorithms Interview Questions
- Commonly Asked OOP Interview Questions | Set 1
- Commonly Asked C++ Interview Questions | Set 1