/algorithms

The All ▲lgorithms documentation website.

Primary LanguageJavaScriptMIT LicenseMIT





Algorithms Logo





What is an algorithm?    Contributing    Stickers & T-Shirts

Twitter     Instagram     Github    


Huge collection of All ▲lgorithms implemented in multiple languages


See

What is an algorithm?

Informally, an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output. An algorithm is thus a sequence of computational steps that transform the input into the output.

An algorithm should have three important characteristics to be considered valid:

  • It should be finite: If your algorithm never ends trying to solve the problem it was designed to solve then it is useless
  • It should have well defined instructions: Each step of the algorithm has to be precisely defined; the instructions should be unambiguously specified for each case.
  • It should be effective: The algorithm should solve the problem it was designed to solve. And it should be possible to demonstrate that the algorithm converges with just a paper and pencil.

Categories

Structure of The All ▲lgoritms project

Artificial Intelligence

Backtracking

Bit manipulation

Cellular automaton

Computational geometry

Cryptography

Data structures

Divide and conquer

Dynamic programming

Gaming theory

Graphs

Greedy algorithms

Math

Networking

Numerical analysis

Randomized algorithms

Searches

Selections algorithms

Sorting

Strings

Online challenges

No category

License

This work is released under MIT License.

To the extent possible under law, Abraham Hernandez (@abranhe) has waived all copyright and related or neighboring rights to this work.