When to Use

Pattern triggers

Look for these signals in the problem:

  • "Generate all" combinations/permutations/subsets: Backtracking systematically explores all possibilities without missing any.
  • "Find all solutions" satisfying constraints: When multiple valid answers exist, backtracking collects them all.
  • "Can you construct" with specific rules: Backtracking tries building step by step, backing up when stuck.
  • N-Queens, Sudoku-style puzzles: Constraint satisfaction problems are classic backtracking applications.
  • "Partition into groups" with requirements: Backtracking tries different assignments, undoing invalid ones.