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

# tayllan/awesome-algorithms

## Folders and files

NameName
Last commit message
Last commit date

Â

260 Commits

Â
Â

Â
Â

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

## Websites

Websites you should use to learn classic algorithms

• A Visual Guide to Graph Traversal Algorithms - Interactive visualizations for learning how graph traversal algorithms work.
• W3School - Data Structures tutorial.
• CodeChef - Learning DSA by practice on Codechef
• Algorithm Visualizer - Dozens of animated algorithms (with code), and you can also create your own.
• Algorithms Visualization - A dense article on Algorithms Visualization.
• Big-O Cheat Sheet - Big-O complexities of common algorithms used in Computer Science.
• Code-Drills - Practice problems recommender (includes Codeforces, Codechef, and Spoj).
• CP-Algorithms - Algorithms and data structures are especially popular in the field of competitive programming.
• Data Structure Visualizations - Visualize the behavior of Data Structures and play with its operations.
• Geeks for Geeks - Lots and lots of well-explained and implemented algorithms.
• Path Finding - A visual representation of how algorithms such as A*, IDA*, Breadth-First-Search, Best-First-Search, and others describe a path between two points A and B.
• Programiz - Easy to follow tutorials on data structures and algorithms along with suitable examples.
• Rosetta Code - A programming chrestomathy site that aims to present implementations of many algorithms and data structures in different programming languages.
• Sorting Algorithms - Nice and simple animations of sorting algorithms. With short codes and discussions.
• Stoimen's web log - Some algorithms nicely explained.
• The Sound of Sorting - The Sound of Sorting - "Audibilization" and Visualization of Sorting Algorithms
• VisuAlgo - Visualising data structures and algorithms through animation.
• Wikipedia - Algorithms - Of course!!
• Wikipedia - Data Structures - and why not ?!!
• Learnersbucket - Tutorials on data structures and algorithms in Javascript.
• redblobgames - interactive visual explanations of math and algorithms, using motivating examples from computer games.

High Quality Courses and tutorials on youtube

## 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

• A2 Online Judge - Online Judge and problem archive.
• ACM-ICPC Live Archive - Hundreds of problems from previous ACM-ICPC Regionals and World Finals.
• AIZU ONLINE JUDGE - Japanese Online Judge.
• Algo Muse - Research-based algorithmic problems.
• AtCoder - Japanese programming contest website.
• Baekjoon Online Judge - Korean Online Judge. 10000+ problems. Supports 60+ languages.
• CS Academy - Holds online contests and IOI practice contests
• CodeChef - More problems and monthly online contests.
• Codeforces - The only programming contests Web 2.0 platform
• Codefights - Practice programming and tackle your next tech interview
• CodeMarshal - Real-world contests online!
• CodeWars - A website that houses support to solve algorithms in many languages in varying difficulty.
• CoderByte - A decent website with algorithm challenges from beginner to advanced levels. Supports most of the popular languages like C++, python, javascript, ruby.
• Firecode - Firecode.io uses machine learning algorithms along with curated real-world interview questions, solutions & a vibrant social community of learners to get you ready for your next coding interview.
• Coding Blocks - Website that has problems based on Maths, Data Structures, Various Algorithm and also conducts Coding Competition.
• HackerEarth - Practice algorithmic problems & challenges and participate in hiring challenges.
• HackerRank - Featured algorithm and functional programming online judges
• HiHoCoder - Chinese and English problem-solving practice and recruitment challenge site.
• Infoarena - Romanian Online Judge. 1500+ algorithmic problems
• Interviewbit - Learn, practice, and prepare for interviews.
• Kattis- Online judge and problem archive
• LavidaOnlineJudge - Korean Online Judge(Half English). 1300+ problems.
• Learneroo Algorithms Tutorials - Learn and practice algorithms by solving challenges online.
• LeetCode - Learn algorithms and prepare for interviews.
• PKU JudgeOnline - Chinese Online Judge.
• ProjectEuler - Mathematical problems that can be solved using algorithms (or just a pencil, depending on how much you already know).
• Rosalind - A platform for learning bioinformatics and programming through problem-solving.
• ShareCode.io - Online Judge and contest host with a lot of algorithmic problems in the archive to practice.
• Snakify - An introductory Python course with 100+ algorithmic problems and a step-by-step debugger (from Russia).
• SPOJ - More problems.
• TopCoder - Lots of problems and real-world/money-worthy problems in Graphic Design, Data Science, and Development.
• Toph - Bangladeshi Online Judge. Holds online contests regularly.
• URI - Brazilian Online Judge. Not so many problems, but it's growing and it has online contests.
• UVA - Hundreds of problems (from previous ACM-ICPC Regionals, World Finals, and others).
• Codility - Compete to land coding jobs at top companies

## Blogs

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

## Related Awesome Lists

• Math - Freely available lecture notes on mathematics.
• Theoretical Computer Science - The interdisciplinary of Mathematics and Computer Science, Distinguished by its emphasis on mathematical technique and rigour.

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

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

## Releases

No releases published

## Packages 0

No packages published