Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Say Thanks! Open Source Love contributions welcome Join the chat at Number of Algorithms

Data Structures and Algorithms Tweet

Clean example implementations of data structures and algorithms written in different languages.

List of implementations

Algorithms list


  • Contributions are always welcome. Language doesn't matter. Just make sure you're implementing an algorithm.

  • PRs are welcome. To begin developing, follow the structure:

    algorithm_name/language-name/file_name.extension e.g bubble_sort/python/

  • If there is an implementation of the same algorithm in your language, add your username in front of the file name. E.g., if the already existing algorithm is binary_sort and your user name is my_name, just name the new file as 'my_name_binary_sort'.

  • Please include a description for the algorithm that you are implementing. It doesn't matter if it's copied from somewhere as long as it helps people that are learning new algorithm.

  • Graphical examples would be very helpful too.

  • Don't forget to include tests.

  • Don't remove previous implementations of algorithms. Just add a new file with your own implementation.

  • Beautify and cleanup your code for easier reading.


Curated list of resources dealing with algorithms.



To the extent possible under law, Zoran Pandovski has waived all copyright and related or neighboring rights to this work.