Skip to content

Foundations -> Recursion And Backtracking

Model explicit search trees cleanly, then decide when pruning is enough and when you should escalate to DP or meet-in-the-middle.

  • Topic slug: foundations/recursion-backtracking
  • Tutorial page: Open tutorial
  • Ladder page: Open ladder
  • Repo problems currently tagged here: 0
  • Repo companion pages: 2
  • Curated external problems: 3

Microtopics

  • dfs-generation
  • backtracking
  • pruning
  • branch-ordering
  • undo-redo
  • search-tree

Learning Sources

Source Type
Competitive Programmer's Handbook Reference
Jeff Erickson - Algorithms Course

Practice Sources

Source Type
CSES Introductory Problems Practice
CSES Problem Set Practice

Repo Companion Material

Material Type
Meet-In-The-Middle tutorial related tutorial
Bitmask DP tutorial related tutorial

Curated External Problems

Warm-Up

Problem Source Difficulty Context Style Prerequisites Tags Why it fits
Apple Division CSES Easy - Implementation Recursion Subset Search; Brute Force A tiny subset-search benchmark that teaches clean recursive branching before heavier optimization.

Core

Problem Source Difficulty Context Style Prerequisites Tags Why it fits
Creating Strings CSES Easy - Implementation Recursion; Sorting Permutations; Duplicates A clean permutation-generation route where choice ordering and duplicate handling are the whole lesson.

Classics

Problem Source Difficulty Context Style Prerequisites Tags Why it fits
Chessboard and Queens CSES Medium - Implementation; Pruning Recursion; Constraint Checks Pruning; Board Search A classic pruning benchmark where the search tree is still explicit and understandable.

Repo Problems

No repo problem note is attached yet. Use the repo companion material above for this theory/process-heavy topic.

Regeneration

python3 scripts/generate_problem_catalog.py