I learned Javascript, HTML and CSS in only 2 weeks and then I started this project right away. So please be gentle with my code. The code of this project is quite messy. If you want to see cleaner codes of mine, please check out other projects on my Github.
I implemented 5 Algorithms in this project: Backtracking, Dancing Links (Algorithm X), Greedy Best First Search, Reverse Backtracking and Sprial Backtracking.
I wrote 4 Algorithms completely on my own. For Dancing Links (This is a quite challenging Algorithms to implement, since you need to do depth first search on a 4-way linked list. One bug and the whole program breaks), I use the following sources:
1/ The author's paper: http://www.ocf.berkeley.edu/~jchu/publicportal/sudoku/0011047.pdf
2/ Zendoku writeup (It really helps me understand this tricky algorithm): https://garethrees.org/2007/06/10/zendoku-generation/#section-4
3/ Stackoverflow post: https://stackoverflow.com/questions/1518335/the-dancing-links-algorithm-an-explanation-that-is-less-explanatory-but-more-o
I also deploy this code to the web. Please check it out here: https://anhminhtran235.github.io/sudoku-solver-visualizer/
March 2020
Created by Anh Minh Tran