Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A curated list of awesome places to learn and/or practice algorithms.
Branch: master
Failed to load latest commit information. Added C-Sharp-Algorithms library Fixed Typo

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

Online Courses

Free and High Quality Courses Online


The most highly regarded books to learn algorithms

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

  • UVA - Hundreds of problems (from previous ACM-ICPC Regionals, World Finals and others).
  • SPOJ - More problems.
  • ACM-ICPC Live Archive - Hundreds of problems from previous ACM-ICPC Regionals and World Finals.
  • URI - Brazilian Online Judge. Not so much problems, but it's growing and it has online contests.
  • CodeChef - More problems and monthly online contests.
  • CodeMarshal - Real world contests online!
  • ProjectEuler - Mathematical problems that can be solved using algorithms (or just a pencil, depends on how much you already know).
  • TopCoder - Lots of problems and real world/money worthy problems in Graphic Design, Data Science and Development.
  • Learneroo Algorithms Tutorials - Learn and practice algorithms by solving challenges online.
  • Infoarena - Romanian Online Judge. 1500+ algorithmic problems
  • AIZU ONLINE JUDGE - Japanese Online Judge.
  • PKU JudgeOnline - Chinese Online Judge.
  • Rosalind - A platform for learning bioinformatics and programming through problem solving.
  • LavidaOnlineJudge - Korean Online Judge(Half English). 1300+ problems.
  • LeetCode - Learn algorithms and prepare for interviews.
  • HackerRank - Featured algorithm and functional programming online judges
  • Codeforces - The only programming contests Web 2.0 platform


Some tools that can help you in the learning of algorithms


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.

Something went wrong with that request. Please try again.