DFS
From charlesreid1
Depth first search notes
Depth first search utilizes backtracking and recursion to explore each node of a tree, or each vertex of a graph, exactly once.
On a graph, depthfirst search is a crucial building block of several algorithms related to connectivity, such as finding cycles, determining of two vertices are connected, and constructing spanning trees.
For an example of depthfirst search on a graph, see traveling salesperson problem page.
Related
Recursion:
 See Recursion
Graphs:
 Graphs#Graph Traversals
 Graphs/Depth First Traversal
 Graphs/Breadth First Traversal
 Graphs/Euler Tour
Traversals on trees:
Breadthfirst search and traversal on trees:
Depthfirst search and traversal on trees:
 DFS  depth first search
 DFT  depth first traversal
OOP design patterns:
Flags
Trees Part of Computer Science Notes
Series on Data Structures Abstract data type: Trees/ADT Concrete implementations: Trees/LinkedTree · Trees/ArrayTree · SimpleTree
Tree Traversal Preorder traversal: Trees/Preorder Postorder traversal: Trees/Postorder InOrder traversal: Binary Trees/Inorder BreadthFirst Search: BFS BreadthFirst Traversal: BFT DepthFirst Search: DFS DepthFirst Traversal: DFT OOP Principles for Traversal: Tree Traversal/OOP · Tree Traversal/Traversal Method Template Tree operations: Trees/Operations Performance · Trees/Removal
Tree Applications Finding Minimum in Log N Time: Tree/LogN Min Search
Abstract data type: Binary Trees/ADT Concrete implementations: Binary Trees/LinkedBinTree · Binary Trees/ArrayBinTree Binary Trees/Cheat Sheet · Binary Trees/OOP · Binary Trees/Implementation Notes
