Awesome Open Source
Awesome Open Source

Data Structures and Algorithms

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

Gitter chat MIT license Issues

List of implementations

Algorithms list(not updated)


  • 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:




  • If there is an implementation of the same algorithm in your language, do not give a PR for that.

  • 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.

  • You can include tests as well.

  • Don't remove previous implementations of algorithms. You can help in improving the current implementation by adding explanations and examples.

  • Beautify and clean up your code for easier reading


  • Do not make a new issue unless required.
  • If your PR is closed without any comment, it means that your PR does not meet the above criteria. Make sure your PR is not Duplicate and it should be well-documented.


The curated list of resources dealing with algorithms.

Project Maintainers.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (65,979
python (47,586
java (29,488
c-plus-plus (16,741
c (13,961
go (13,599
ruby (12,190
swift (7,253
hacktoberfest (4,192
rust (3,864
golang (3,412
python3 (1,357
cpp (1,134
csharp (921
algorithms (381
data-structures (332
mathematics (140
help-wanted (42
dynamic-programming (36
bit-manipulation (14

Find Open Source By Browsing 7,000 Topics Across 59 Categories