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.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,533,979
Python (1,142,368
Java (697,034
C Plus Plus (369,542
Ruby (305,176
C Sharp (276,629
C (274,522
Go (198,009
Swift (94,762
Rust (66,675
Golang (33,512
Python3 (33,344
Cpp (16,349
Algorithms (10,932
Data Structures (6,415
Mathematics (2,709
Dynamic Programming (707
Help Wanted (324
Greedy Algorithms (250
Bit Manipulation (120
Related Projects