js-algorithms icon indicating copy to clipboard operation
js-algorithms copied to clipboard

:rocket: Algorithms for JavaScript

:rocket: Algorithms License GitHub issues


© xkcd.com

Playground for algorithms in JavaScript. This is a child project of js-library and the twin project of js-data-structures.

:newspaper: Description

This project is just a playground for any algorithm that doesn't fit in any of those projects,

:flashlight: Searching

:waning_gibbous_moon: Merging

:cake: Partitioning

:point_down: Selection

:signal_strength: Sorting

:balance_scale: Comparison sorting

:zzz: Integer sorting

:symbols: Strings

Nothing yet.

:hocho: Hashing

Nothing yet.

:triangular_ruler: Geometry

:globe_with_meridians: Graphs

:1234: Numbers

:symbols: Arithmetic

:two: :three: :five: :seven: Number theory

:shell: Integer sequences

:game_die: Randomness

:brain: Hard problems

:left_right_arrow: Sytems of equalities and inequalities

:broom: Combinatorics

Those packages aim to provide code bricks that are as generic as possible. Some examples are a Gauss-Jordan method that can work with any number model, a Karatsuba algorithm that can handle any input size, a Graham Scan algorithm that works with clockwise or counter clockwise ordering, and a Monotone Chain algorithm that can be used as a triangulation algorithm without any change.

:scroll: Reference

A list of links and projects focusing on algorithm implementation.

:coffee: Projects implementing algorithms in JavaScript

  • https://github.com/felipernb/algorithms.js
  • https://github.com/mgechev/javascript-algorithms
  • https://github.com/nzakas/computer-science-in-javascript
  • https://github.com/benoitvallon/computer-science-in-javascript
  • http://www.nayuki.io

:peacock: Projects implementing algorithms in other languages

  • https://github.com/xtaci/algorithms (C++)
  • https://github.com/fragglet/c-algorithms (C)
  • https://github.com/nryoung/algorithms (Python)
  • https://github.com/kanwei/algorithms (Ruby)
  • https://github.com/phishman3579/java-algorithms-implementation (Java)
  • https://github.com/patmorin/ods (C++, Java, Python)
  • http://www.nayuki.io (C, C++, Java, C#, Python, Haskell, MATLAB and others)
  • http://rosettacode.org (All kinds of languages)

:link: Others

  • http://stackoverflow.com/questions/26301/your-favourite-algorithm-and-the-lesson-it-taught-you
  • http://cglab.ca/publications.html