## Depth-First Search

Depth-First Search (DFS) is a traversal algorithm that visits all nodes in a tree or graph-like data structure. It can be applied to a wide variety of problems, making it the most important algorithm to know for the coding interview.

This module teaches you how to solve coding interview questions using depth-first search. It is divided into 2 sections:

#### Binary Trees

We start by learning how depth-first search traverses the nodes in a binary tree, which will teach us the fundamentals of the algorithm. We then learn how to solve binary tree interview questions using depth-first search and recursion, and apply what we learned by working through practice problems.

#### Graphs

We then look at the two most common ways graphs are represented during the coding interview, and how to traverse both representations with DFS. Then we work through problems that give us practice with the different types of graph problems that can be solved using DFS.

After completing this module, continue to the Breadth-First Search and the Backtracking modules to solidify your understanding of Depth-First Search. In particular, make sure you understand the differences between Depth-First Search and Breadth-First Search, and when to use each algorithm.

Loading comments...