Awesome Algorithms

A curated list of awesome places to learn and/or practice algorithms. Inspired by awesome-awesomeness and all the other awesome Awesome libraries.

If you want to contribute, please read the contribution guidelines.


Websites you should use to learn classic algorithms

Youtube Playlists

High Quality Courses and tutorials on youtube

Online Courses

Free and High-Quality Courses Online


The most highly regarded books to learn algorithms

Algorithms and Data structures

Algorithm Analysis

Randomized Algorithms

Cheat Sheets

Github Libraries

Implementations of the most classic algorithms in a wide variety of programming languages

Online Judges

Online Judges to practice what you learned above


Awesome list of blogs, mainly for competitive programming but you can refer to these when learning a new topic/algorithm


Some tools that can help you in the learning of algorithms

Related Awesome Lists


And for the sake of copyleft, here's our license:

Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.