Skip to content

rajthakurr/Sudoku_Solver-DSA-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sudoku_Solver-DSA-Algorithm

🧩 Sudoku Solver

A web-based interactive Sudoku Solver built to demonstrate and visualize various Data Structures and Algorithms (DSA). This project was born out of a deep dive into Sudoku solving logic and serves as a practical application of algorithmic efficiency.


📖 About The Project

I started learning about Sudoku solving algorithms for a while, then I decided to apply what I learned in this project. I had a great experience building it and gained significant knowledge regarding algorithmic optimization and object-oriented design.

✨ Key Features

  • Interactive Grid: Input your own puzzles or generate new ones.
  • Multiple Algorithms: Choose between different solving strategies to see them in action.
  • Responsive Design: Styled with SCSS for a modern look and feel.
  • OOP Architecture: Built using JavaScript Object-Oriented Programming principles for clean, maintainable code.

🛠️ Built With

This project was developed using a clean, object-oriented approach without external frameworks:

  • HTML5: For the structural layout of the Sudoku grid.
  • SCSS: For advanced styling and responsive design.
  • JavaScript (ES6+): Core logic and DOM manipulation.
  • JS OOP: Focused on Object-Oriented Programming to manage grid states and solver classes.

🚀 Algorithms Implemented

The application allows users to solve puzzles using different computational strategies:

  1. Backtracking: The standard recursive approach to explore all possibilities.
  2. Backtracking Optimized with a Priority Queue: An enhanced version that prioritizes cells with fewer possibilities.
  3. Genetic Algorithm: A heuristic search inspired by the process of natural selection.
  4. Doubly Circular Linked List: Utilizing specialized data structures to manage cell relationships.

📸 Screenshots

1. Main Interface

The initial state of the application where users can input their own numbers or generate a new puzzle. Main Interface


2. Algorithm Selection

Users can choose from multiple solving strategies including Backtracking, Genetic Algorithms, and Doubly Circular Linked Lists. Algorithm Selection


3. Solved Puzzle

The final output after the selected algorithm successfully finds the solution for the 9x9 grid. Solved Puzzle


⚙️ How To Run Locally

Since this project uses standard web technologies, you can host it locally using a simple Python server.

  1. Clone the repository:
    git clone (https://github.com/your-username/Sudoku-Solver.git)
    
  2. Navigate into the project folder:
    cd Sudoku-Solver
    
  3. Start a local server: Ensure you have Python installed, then run:
    python -m http.server 8000
    
  4. View in Browser: Open your browser and navigate to:
    http://localhost:8000
    

About

A web-based interactive Sudoku solver that visualizes multiple DSA-driven algorithms—including backtracking, genetic algorithms, and advanced data structures—built with object-oriented JavaScript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors