Awesome Open Source
Awesome Open Source

Algorithms Logo

What is an algorithm?    Contributing    Stickers & T-Shirts

Twitter     Instagram     Github    

Huge collection of All lgorithms implemented in multiple languages


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.


Structure of The All lgoritms project

Artificial Intelligence


Bit manipulation

Cellular automaton

Computational geometry


Data structures

Divide and conquer

Dynamic programming

Gaming theory


Greedy algorithms



Numerical analysis

Randomized algorithms


Selections algorithms



Online challenges

No category


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.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,535,723
Python (1,143,903
Java (697,538
Ruby (305,174
C Sharp (276,887
C (274,766
Go (198,300
Swift (94,824
Hacktoberfest (37,971
Cpp (16,385
Algorithms (10,950
Clustering (1,854
Sorting Algorithms (960
Sort (751
Numerical Analysis (255
Greedy Algorithms (252
Game Theory (203
Bit Manipulation (120
Allalgorithms (40
Selection Algorithms (11
Related Projects