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. Just add a new file with your own implementation.

  • Beautify and clean up your code for easier reading


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

Alternatives To Algorithms
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,121,606
Python (865,695
Java (404,416
C Plus Plus (252,382
Ruby (223,378
C (190,138
C Sharp (174,070
Golang (168,135
Swift (67,905
Rust (65,448
Algorithms (37,824
Mathematics (10,222
Structure (10,072
Data Structure (10,040
Programming Language (6,130
Dynamic Programming (773
Geeksforgeeks (297
Greedy Algorithms (186
Bit Manipulation (144