https://the-algorithms.com/ The Algorithms logo The Algorithms Search any algorithm [ ] AboutDonate [background][background][background] Hello, algorithms! Welcome to GitHub's largest open-source algorithm library Search any algorithm Search any algorithm [ ] Top algorithms 1. Searches Binary Search python javascript cplusplus java c haskell +12 More 1. Sorts Quick Sort python javascript cplusplus java c haskell +17 More 1. Dynamic Programming Fibonacci Numbers python javascript cplusplus java c haskell +9 More What is an Algorithm? An algorithm is a set of rules that takes in one or more inputs, then performs inner calculations and data manipulations and returns an output or a set of outputs. In short, algorithms make life easy. From complex data manipulations and hashes, to simple arithmetic, algorithms follow a set of steps to produce a useful result. One example of an algorithm would be a simple function that takes two input values, adds them together, and returns their sum. About Us We are a group of programmers helping each other build new things, whether it be writing complex encryption programs, or simple ciphers. Our goal is to work together to document and model beautiful, helpful and interesting algorithms using code. We are an open-source community - anyone can contribute. We check each other's work, communicate and collaborate to solve problems. We strive to be welcoming, respectful, yet make sure that our code follows the latest programming guidelines. Featured algorithms 1. Dynamic Programming Coin Change javascript cplusplus java go rust dart +4 More 1. Machine Learning Logistic Regression python r jupyter More 1. Ciphers Caesar Cipher python cplusplus php More 1. Neural Network A-Simple-GAN jupyter More 1. Graphs Bellman Ford python javascript cplusplus java c go +1 More 1. Sorts Bogo Sort python javascript cplusplus java c rust +4 More Top categories Sorts Searches Dynamic Programming Ciphers Data Structures Math Digital Image Processing Programming Languages We support many programming languages. Each language has its own GitHub repository where all the code for the algorithms is stored. Here is a list of the current programming languages: python TheAlgorithms / python 139k java TheAlgorithms / java 46k javascript TheAlgorithms / javascript 20k cplusplus TheAlgorithms / c-plus-plus 20k c TheAlgorithms / c 13k go TheAlgorithms / go 10k rust TheAlgorithms / rust 8617 csharp TheAlgorithms / c-sharp 4215 scala TheAlgorithms / scala 876 dart TheAlgorithms / dart 842 php TheAlgorithms / php 836 kotlin TheAlgorithms / kotlin 804 ruby TheAlgorithms / ruby 792 r TheAlgorithms / r 571 jupyter TheAlgorithms / jupyter 523 matlab TheAlgorithms / matlab-octave 300 swift TheAlgorithms / swift 273 haskell TheAlgorithms / haskell 243 julia TheAlgorithms / julia 229 fsharp TheAlgorithms / f-sharp 145 elixir TheAlgorithms / elixir 137 lua TheAlgorithms / lua 79 aarch64 TheAlgorithms / aarch64_assembly 75 ocaml TheAlgorithms / ocaml 65 elm TheAlgorithms / elm 48 Contribute We encourage you to contribute to these repositories. If you have an algorithm that you want to add, a change you want to make, or a bug you want to fix, please do so. But before you do, make sure you have read the contributing guidelines found in CONTRIBUTING.md in the repository. Make sure that you are respectful, helpful, and using the latest version of the language. After reading the contribution guidelines, please fork the repository, work on your changes and then submit them as a pull request. You can also help us translate the website using Weblate. If you have any other languages you want to add, or any strings you want to fix, you're welcome to contribute. GitHubWeblate Donate Another way you can support us is to make a donation via Liberapay. Even a small donation is much appreciated. By donating, it means that you appreciate and like our work. If you don't like our work, there's no need to donate. If you donate, top members will be able to contribute further to The Algorithms projects. We appreciate donations from everyone, from everywhere, no matter the amount. Donate Connect with us The Algorithms logo (c) The Algorithms 2021 What is an algorithm?About usProgramming LanguagesContributeDonate GitHubGitterTwitterSource codeContact Powered by Vercel