# Depth-First Search (DFS)

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.

![Algorithm Visualization](https://upload.wikimedia.org/wikipedia/commons/7/7f/Depth-First-Search.gif)

## References

- [Wikipedia](https://en.wikipedia.org/wiki/Depth-first_search)
- [Tree Traversals (Inorder, Preorder and Postorder)](https://www.geeksforgeeks.org/tree-traversals-inorder-preorder-and-postorder/)
- [BFS vs DFS](https://www.geeksforgeeks.org/bfs-vs-dfs-binary-tree/)