Giter Site home page Giter Site logo

algorithm-visualiser's Introduction

Algorithm Visualiser

This project aims to create a scalable web application that shows the internals and inner workings of Algorithms and the data they operate upon. Along with giving insights into the efficiency and speed of various algorithms given different input data and scenarios.

Here's a snpashot of the project:

The Project's UI Design

And here's the link to the deployed website: Algorithm Visualiser

Objective

I have great ideas and vision for this project to become a single source for learning the ins and outs of Algorithms and Data Structures. The project aims to provide visual help for learners to understand Algorithms and the Data Structures they use.

Contributors

This project is an open source endeavour to bring front-end problem solvers and open source contributors to try their hands on a rather simple and client facing application with no overload of managing backed code. And it is well suited for contributors that are First Time Contributors and are just starting their journey in Open Source, or are starting with web development and ReactJS, or are here just for the fun of understanding and implementing new algorithms while integrating them into the project.

People who want to contribute to this project are welcome to use the discusssion board to contact me and suggest new ideas or obtain information about the project.

Do read CONTRIBUTING.md before submitting any PRs or working on one.

Happy Coding ๐Ÿš€

algorithm-visualiser's People

Contributors

suraj-upadhyay avatar

Stargazers

Harshith Banothu avatar

Watchers

 avatar

Forkers

haxshith

algorithm-visualiser's Issues

Bug: Control Panel action improvements

Control Panel actions include:

  • Selecting an algorithm to work with.
  • Specifying the length of the data that it is supposed to work upon.
  • Specifying the delay time between steps of the Algorithm.
  • Specifying the maximum size of the data.

Currently, the problem with Control Panel actions are:

  1. They are not disabled when the Algorithm is playing.
  2. The sliders in inputs to data length, delay and maxData
    don't have appropriate steps and end labels.
  3. In the algorithm selector, mark the algorithms that are not
    implemented as unselectable.

Bug: Play Action controls are not working properly

Play Action controls that pause, resume, step forward
and step backward are not working as intended.

  1. The pause button doesn't stop the algorithm from playing. (As described in #2 )
  2. The resume button doesn't resume 'play action' of a paused algorithm.
  3. Step Forwards/Backwards don't even have their functionalities yet.

Along with fixing the above behaviours, also make sure that:

  1. The Pause button, actually starts as a start button and then transitions
    over to a pause button after getting clicked.
  2. And the same pause button referenced in point 1, transitions into resume button
    and back to pause button when clicked.
  3. The second button should be a Terminate button, which would stop the algorithm altogether.
  4. And the next two buttons would be Step Forward and Step Backwards.

Also, in consideration, disable the action buttons that are not needed.

  1. Disable all the buttons before starting.
  2. Disable Step forwards/Backwards when the algorithm is running
    and enable them only when the algorithm is paused.
  3. After pressing terminate, all the action buttons should be disabled again,
    and the data view should get cleared.
  4. EDIT: Disable all the Play Action Controls, before the algorithms has started
    and after it has been terminated.

The workings of all the above controls should be intuitive.

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.