Skip to content

Recursive Decomposition

Complex problems can be solved by defining solutions in terms of smaller instances of the same problem, trusting the process to eventually reach trivial base cases.

Tension Addressed

Optimality vs. Simplicity (recursive solutions are often elegantly simple)

Recognizable As

Tree traversals, file system operations, nested data structure processing, grammar parsing, mathematical induction in proofs

Canonical Sources

McCarthy, Recursive Functions of Symbolic Expressions (1960); Polya, How to Solve It (1945, general problem decomposition)

Transfers To

Organizational hierarchy, document structure, UI component trees, legal/contractual structures, linguistic parsing

Sub-concepts: - Base case identification: The trivial instance that terminates recursion - Trust the recursion: Assume subproblems solve correctly; focus on combination - Stack depth awareness: Recursion consumes stack space proportional to depth