Depth-First Search

A traversal method for trees and graphs that explores as deep as possible before backtracking; implemented using recursion or a stack.