Awesome Open Source
Awesome Open Source

PRs Welcome GitHub pull requests GitHub issues Github All Contributors


The goal of this project is to have in a single place for all possible algorithms and data structures - in multiple languages. We aim to achieve this collaboratively, so feel free to contribute in any way you want, just make sure to follow the contribution guidelines listed below.


Our content is divided by programming language. Please create an issue if you wish to add code in a language that we don't currently have here. Do not create folders in your submissions unless specifically told to do so.

Also, we are accepting submissions to our Wiki section. Please let us know if you'd like to contribute to an article.

Contributing Guidelines

  • Plagiarism is strictly not allowed. Any work that is found to be suspicious of plagiarized work will not be merged.
  • Issues will be assigned on a first come, first serve basis. You just have to comment on the issue, asking to be assigned, and it will be done if found fit.
  • Preferably, you cannot work on any issue that is not assigned to you.
  • In case you want to submit an improvement to an existing algorithm, we prefer that you create an issue, describing in detail your improvement. This will help others to analyze your contribution. You can use the templates that we have provided :)
  • If you have anything else in mind, create an issue, and please wait for it to be assigned to you. You can then start working on it and create a PR.
  • All PRs must be made from a Branch. Create a separate branch for every Issue you are working upon and once found fit, make a PR.
  • If you have no idea what are issues or PRs, please do refer to this link

Make sure your code works before submitting it :D

Where to upload the files


  • Your files should be uploaded directly into the corresponding folder (e.g. if you wrote code for a Data Structure in Python, it goes inside the DS folder within the Python folder and so on)
  • Edit the corresponding file to add the link to your code in the corresponding section (GitHub Markdown Guide)
  • Under no circumstances create new folders within the language folders to upload your code unless specifically told to do so.
  • Also, be polite with the reviewers - they will be ALWAYS polite to you.

Our Contributors

Code of Conduct

You can find our Code of Conduct here.


This project follows the MIT License.



Alternatives To Neoalgo
Select To Compare

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,115,836
Python (861,508
Java (403,260
C Plus Plus (251,486
C (189,626
C Sharp (173,427
Golang (167,477
Algorithms (37,804
Data Structure (10,008
Qsharp (64