Backtracking
Previous: Algorithm, Depth-first search
Backtracking is an algorithmic paradigm that incrementally builds solutions while discarding invalid states.
- Base case
- Choices
- Constraints
- Backtrack
def backtrack(params):
if base_case_condition:
save_result
return
for choice in choices:
if violates_constraints:
continue
make_choice
backtrack(updated_params)
undo_choice # Backtracking Step