Skip to content

Latest commit

 

History

History
25 lines (18 loc) · 1.85 KB

README.md

File metadata and controls

25 lines (18 loc) · 1.85 KB

CS-131-Project-Daniel-Rivas

Introduction

This repository contains the DLX Sudoku Solver, an advanced Sudoku puzzle solver implementing Donald Knuth's Dancing Links Algorithm. This project not only allows for solving traditional Sudoku puzzles but also offers a unique, interactive experience through its web-based interface.

In my video presentation, I discuss the significance of Donald Knuth's Dancing Links (DLX) algorithm. For the actual project, I developed a menu-driven console application in C++ that utilizes DLX backtracking to efficiently traverse a doubly linked circular list and remove/insert nodes representing nodes in a sudoku grid. Using Knuth's Stanford research paper, I discuss the intricacies of the data structure and how the constraints of a sudoku puzzle are converted into a two-dimensional matrix of booleans. Overall, I found this project to be enriching to my understanding of data structures and algorithm implementations.

Features

  • Sophisticated Sudoku Solver: Employs Donald Knuth's Dancing Links algorithm for efficient puzzle solving.
  • Interactive User Interface: Easy-to-use web interface for inputting and solving puzzles.
  • Timer Functionality: Tracks time spent on solving puzzles, enhancing the user experience.
  • Reset and New Puzzle Options: Allows users to start new puzzles or reset the current puzzle easily.

Technologies Used

  • HTML: For structuring the web application's content.
  • CSS: For styling the application, including the Sudoku grid and buttons.
  • JavaScript: To add interactivity, manage the timer, and handle user inputs.
  • C++: Used for implementing the Sudoku solving algorithm.

Resources

YouTube Presentation

Sudoku Solver Application

Donald Knuth's Dancing Links Article