Backtracking is a powerful algorithmic technique used to solve problems by exploring all possible solutions in a systematic and recursive manner. It is particularly useful for problems that require searching through a vast solution space, such as combinatorial problems, constraint satisfaction problems, and optimization tasks.
Easy Problems
- Rat in a Maze
- Print all permutations
- Palindromic Partitions
- All possible paths in a matrix
- Subset sum
- Tug of war
Medium Problems
- N Queens Problem
- Word Break Problem
- Path to middle cell in a maze
- Hamiltonian cycle
- Sudoku
- M Coloring Problem
- Cryptarithmetic puzzle
- Path of more than k length
- Partition into k subsets
Hard Problems
- Warnsdorff's Algorithm
- Remove Invalid Parenthesis
- Match a pattern and string using regular expression
- longest possible route in a matrix with hurdles
- Shortest safe route in a path with landmines