GithubHelp home page GithubHelp logo

nstagman / algx_visualizer Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 196 KB

Algorithm X and Dancing Links Visualizer

Home Page: https://nstagman.github.io/algx_visualizer/

License: MIT License

HTML 0.94% CSS 13.88% TypeScript 85.18%
algorithm-visualisation algorithm-x dancing-links exact-cover sudoku-solver sudoku-solver-visualizer

algx_visualizer's Introduction

Exact Cover Visualizer

An animated Algorithm X search to visualize the solving an exact cover problem.

This visualizer -hosted here- can solve a user modified binary matrix as well as 4x4 and 9x9 sudoku puzzles.

The sudoku puzzles are automatically converted from their standard form into a binary constraint matrix to be solved by algorithm x. Each row of these matrices represents a single candidate in one square of the puzzle and each column represents a constraint for the puzzle (e.g., a '3' in the second row). This translates to the 4x4 sudoku having a 64x64 constraint matrix, and the 9x9 sudoku having a 729x324 matrix. The app limits the 9x9 constraint matrix to a reasonable size so it can still be animated on the canvas.

The algorithm visualization was achieved by animating the constraint matrix on an html canvas. Solidjs was leveraged to give the app its reactivity.

C, C++, and Python implementations can be found here

algx_visualizer's People

Contributors

nstagman avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.