Depth-first Search
From The Algorithm Design Manual
Good algorithm designers understand several fundamental algorithm design techniques, including data structures, dynamic programming, depth-first search, backtracking, and heuristics why depth-first search is here, I thought it was an algorithm , but it seems one thought or consciousness. - DFS is a systematic exploration strategy: explore as far as possible, then backtrack - Conceptual Framework: good algorithm designers think in terms of paradigms, DFS fits as a search paradigms.
Intro
Recursive Nature vs Dynamic Programming
DP deals with overlapping subproblems, for memoization optimization. DFS deals with searching or exploring, no overlapping. overlapping need optimization, search only for same situation.