Skip to content

awallien/bt_playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bt_playground

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.

Objective

  • 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.

Programs and Languages

  • C/C++
    • binairo
  • Java
    • nonogram (6+)
  • Python 3.x
    • connect4tie
    • skyscrapers
    • word_ladder