A "playground" of backtracking programs
Backtracking is a concept of finding all or some possible solutions to a computational problem by building partial solutions. For each partial solution, the backtracking algorithm runs a test to determine its validity. If the partial solution happens to be invalid, it would "backtrack" to build a different part of the solution; otherwise, the backtracker would continue until it reaches a certain goal.
- To understand a general algorithm in computer science for finding all possible solutions to a computational problem.
- To build the understructure of a backtracker for a given problem.
- To learn the different categories of problems that would require a backtracking algorithm.
- To analyze the computational complexity and performance for a backtracker.
- To show appreciation for an algorithm that may be inefficient for certain computational problems.
- To explore different languages to program a backtracking algorithm.
- C/C++
- binairo
- Java
- nonogram (6+)
- Python 3.x
- connect4tie
- skyscrapers
- word_ladder