Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thejmazz/redux-algorithms
Various algorithms implemented in ES6 with redux
https://github.com/thejmazz/redux-algorithms
Last synced: 19 days ago
JSON representation
Various algorithms implemented in ES6 with redux
- Host: GitHub
- URL: https://github.com/thejmazz/redux-algorithms
- Owner: thejmazz
- Created: 2016-02-07T00:48:39.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-02-07T16:37:56.000Z (almost 9 years ago)
- Last Synced: 2024-11-07T08:51:33.892Z (2 months ago)
- Language: JavaScript
- Homepage: http://thejmazz.github.io/redux-algorithms/
- Size: 45.9 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# redux-algorithms
Various algorithms implemented in ES6 with [Redux].
[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
[Redux]: http://redux.js.org
## Why?
Redux is great for developing complicated applications since it simplifies the
issue of state - in redux there is only one state. Thus, assuming the view is
a pure function of the state, your view will always be consistent. Whereas
with storing pieces of the state among separate components, there is no
clear global state, and keeping everything in sync becomes complicated and
difficult to test.Here, we take the ideas of the state time machine and apply it to visualizing
various algorithms. Any action will create a new state, and we can step through
the actions in order to skip forwards and backwards. Tied to a view that is a
pure function of the state, this creates a nice grounds for walking through
and understanding potentially complicated algorithms.Furthermore, a type of pseudo-code can be written with actions that can be run
as actual code. Ideally, this module will serve as a "pseudo-code with redux
actions runner" and the community can build out many algorithmic visualizations.## Run
`npm start` and then `npm run build:watch` in another tab.
## Algorithms
### Greedy
#### Interval Scheduling
WIP.