Skip to content

A curated list of awesome places to learn and/or practice algorithms.

Notifications You must be signed in to change notification settings

liao-zhihan/awesome-algorithms

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 

Repository files navigation

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] (https://github.com/tayllan/awesome-algorithms/blob/master/CONTRIBUTING.md).

Websites

Websites you should use to learn classic algorithms

Online Courses

Free and High Quality Courses Online

Books

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
  • HackerEarth - Practice alogrithmic problems & challenges and participate in hiring challenges.
  • Codeforces - The only programming contests Web 2.0 platform
  • CoderByte - A decent website with algorithm challenges from beginner to advanced levels. Supports most of the popular languages like C++, python, javascript, ruby.
  • ShareCode.io - Online Judge and contest host with a lot of algorithmic problems in the archive to practice.

Tools

Some tools that can help you in the learning of algorithms

License

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.

About

A curated list of awesome places to learn and/or practice algorithms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published