## Backtracking

Backtracking is an algorithmic-technique for solving problems recursively by trying to build a solution incrementally, one piece at a time, removing those solutions that fail to satisfy the constraints of the problem at any point of time (by time, here, is referred to the time elapsed till reaching any level of the search tree).


## Some Popular Backtracking Algorithms
* [Sudoku](Sudoku/readme.md)
* [M Coloring](M%20Colouring%20Problem/readme.md)
* [Sum of Subset](Subset%20Sum/README.md)
* [Knight's Tour](The%20Knight’s%20tour%20problem/README.md)
* [Word Boggle](Word%20Boggle/README.md)
* [Rat in a Maze](Rat%20in%20a%20Maze/README.md)
* [N Queen Problem](N%20Queen%20Problem/README.md)
* [Cryptarithmetic Puzzles](Cryptarithmetic%20Puzzles/README.md)
* [All Possible Paths](Find%20All%20Possible%20Path/README.md)
* [Generate IP Addresses](Generate%20IP%20Adresses/README.md)
* [Remove Invalid Parentheses](Remove%20Invalid%20Parentheses/README.md)
* [Longest Possible Route in a Matrix with Hurdles](Longest%20Possible%20Route%20in%20a%20Matrix%20with%20Hurdles/README.md)
* [Permutation of a Given String](Permutation%20Of%20a%20Given%20String/README.md)
* [Magnet Puzzle](Magnet%20Puzzle/README.md)
* [Tug of War](Tug%20of%20War/README.md)
