Skip to content

moizmoizmoiz/su-do-ku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

Rust Sudoku Solver 🦀

I should write a Sudoku solver
Image credit: t-dillon.github.io/tdoku

This is my first ever Rust project, written completely with my own sweat and blood.
Written in pure Rust, as a way to kickstart my Rust learning journey, a milestone project that helped me understand ownership, borrowing, and lifetimes better. After hours of arguing with the compiler and digging into the borrow checker docs, I finally managed to rewrite the Sudoku solving algorithm.

The implementation uses the classic backtracking algorithm to solve Sudoku puzzles, (labelled as LeetCode - Hard problem.)


Future Work

  • Optimize the algorithm:
    • Use candidates instead of brute force.
    • Start with cells that have the least number of candidates.
    • Update candidate sets after a successful propagation.
    • Dancing link algorithm.
    • Constraint propagation
  • Deploy this solver as a binary service. Finally,
  • Generate 5M puzzles and solve them 😊 - https://norvig.com/sudoku.html

Thank you @MusabZamann for the motivation and maa, the sudoku addict, for the inspiration.

About

Rust toy project (without any walkthroughs)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages