# Track Awesome Algorithms Updates Daily

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

🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 tayllan/awesome-algorithms · ⭐ 13K · 🏷️ Theory

## May 09, 2022

Online Courses

- MIT 18-409 - Topics in Theoretical Computer Science: An Algorithmist's Toolkit - It covers a collection of geometric techniques that apply broadly in modern algorithm design.

## May 06, 2022

Online Courses

- MIT - 6-006 - Well explained algorithms.

## Mar 01, 2022

Websites

- A Visual Guide to Graph Traversal Algorithms - Interactive visualizations for learning how graph traversal algorithms work.

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

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

- Rosetta Code - A programming chrestomathy site that aims to present implementations of many algorithms and data structures in different programming languages.

- Learnersbucket - Tutorials on data structures and algorithms in Javascript.

Online Courses

- Algorithms, Part I - This course covers the essential information that every serious programmer needs to know about algorithms and data structures. Part I covers elementary data structures, sorting, and searching algorithms.

- Khan Academy Algorithms - Algorithm course ministered by Tomas Cormen and Devin Balkcom.

- MIT - 6-00sc - An easy and well-explained introduction to algorithms.

- YogiBearian YouTube Channel - Lots of well-explained videos on various computer science subjects.
*Account terminated due to violations of Youtube Policies.*

Books / Algorithms and Data structures

- Algorithm Design - Pretty straightforward.

- Swift Algorithms & Data Structures - A practical guide to concepts, theory, and code.

- The Algorithm Design Manual - Easy to read and full of real-world examples.

- Algorithmic Puzzles - A very accessible illustration of algorithms in the forms of puzzles. No programming experience is required!

Online Judges / Randomized Algorithms

- Algo Muse - Research-based algorithmic problems.

- Codefights - Practice programming and tackle your next tech interview

- CodeMarshal - Real-world contests online!

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

- HiHoCoder - Chinese and English problem-solving practice and recruitment challenge site.

- Interviewbit - Learn, practice, and prepare for interviews.

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

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

Blogs / Randomized Algorithms

- Sport of Programming - Informative blog for starting with the sport of programming.

- Algorithms and Data Structures - For getting a deeper knowledge of algorithms and how to think in the right direction.

Related Awesome Lists / Randomized Algorithms

- Theoretical Computer Science (⭐299) - The interdisciplinary of Mathematics and Computer Science, Distinguished by its emphasis on mathematical technique and rigour.

## Jul 07, 2021

Related Awesome Lists / Randomized Algorithms

- Math (⭐6.4k) - Freely available lecture notes on mathematics.

## Jul 04, 2021

Github Libraries / Randomized Algorithms

## Jun 22, 2021

Github Libraries / Randomized Algorithms

- Java

## Jun 07, 2021

Websites

- CodeChef - Learning DSA by practice on Codechef

## Mar 17, 2021

Websites

- redblobgames - interactive visual explanations of math and algorithms, using motivating examples from computer games.

## Mar 05, 2021

Websites

- W3School - Data Structures tutorial.

Books / Algorithms and Data structures

- Algorithms in a Nutshell - by George T. Heineman.

Books / Algorithm Analysis

- Sedgewick & Flajolet. An Introduction to the Analysis of Algorithm - Am advanced complete survey, intended only for the mathematically matured reader.

- McConnell. Analysis of Algorithms - A very accessible and brief book on algorithms analysis, with implemented code included.

- Vrajitoru & Knight. Practical Analysis of Algorithms - A very accessible and brief book on algorithms analysis, with implemented code included.

Books / Randomized Algorithms

- Motwani & Raghavan. Randomized Algorithms - A standard classic book.

- Mitzenmacher & Upfal. Probability and Computing: Randomization and Probabilistic Techniques in Algorithms and Data Analysis - Standard text for probability methods and their applications on randomized algorithms.

## Jan 10, 2021

Github Libraries / Randomized Algorithms

## Jan 02, 2021

Github Libraries / Randomized Algorithms

- Language agnostic

## Sep 11, 2020

Cheat Sheets / Randomized Algorithms

## Sep 08, 2020

Github Libraries / Randomized Algorithms

- Python

## Aug 11, 2020

Websites

- Programiz - Easy to follow tutorials on data structures and algorithms along with suitable examples.

Online Judges / Randomized Algorithms

- Codility - Compete to land coding jobs at top companies

Blogs / Randomized Algorithms

- Algorithm Tutorials by Tanuj Khattar - Excellent blog by Tanuj Khattar. Covers tutorials on some interesting data structures along with example problems to solve.

## Feb 02, 2020

Cheat Sheets / Randomized Algorithms

- Algo Deck (⭐4.8k) - An open-source collection of +200 algorithmic cards.

## Jan 07, 2020

Books / Algorithms and Data structures

- Real World Algorithms: A Beginner's Guide - An introduction to algorithms for readers with no background in advanced mathematics or computer science.

## Dec 21, 2019

Github Libraries / Randomized Algorithms

## Oct 30, 2019

Github Libraries / Randomized Algorithms

## Oct 16, 2019

Books / Algorithms and Data structures

- Data Structures and Algorithms Made Easy - A great way to implement algorithms with their specific programmable tasks.

Online Judges / Randomized Algorithms

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

## Oct 03, 2019

Blogs / Randomized Algorithms

- An awesome list for competitive programming! - Awesome blog for all the resources and list of books and algorithms.

- Algorithms Weekly - A good blog by Petr Mitrichev, mainly in Java.

## Sep 01, 2019

Github Libraries / Randomized Algorithms

- JavaScript

## Aug 28, 2019

Books / Algorithms and Data structures

- Algorithms and Data Structures in Action - A different and a great way to introduce algorithms and data structures that can be used at work.

## Jun 13, 2019

Github Libraries / Randomized Algorithms

## May 27, 2019

Cheat Sheets / Randomized Algorithms

## Apr 30, 2019

Books / Algorithms and Data structures

- Algorithms and Data Structures in JavaScript - Classical algorithms and data structures implemented and explained using JavaScript.

## Apr 01, 2019

Websites

- Stoimen's web log - Some algorithms nicely explained.

## Nov 04, 2018

Books / Algorithms and Data structures

- Classic Computer Science Problems in Python -This great book presents dozens of coding challenges, ranging from simple tasks to clustering data using k-means.

## Oct 21, 2018

Books / Algorithms and Data structures

## Jun 27, 2018

Online Judges / Randomized Algorithms

- AtCoder - Japanese programming contest website.

## Mar 10, 2018

Online Judges / Randomized Algorithms

- Baekjoon Online Judge - Korean Online Judge. 10000+ problems. Supports 60+ languages.

## Nov 28, 2017

Websites

- The Sound of Sorting - The Sound of Sorting - "Audibilization" and Visualization of Sorting Algorithms

## Oct 30, 2017

Online Judges / Randomized Algorithms

- A2 Online Judge - Online Judge and problem archive.

## Oct 08, 2017

Online Courses

- Algorithms in Motion - Beginner's algorithms course with fun illustrations, based on the book Grokking Algorithms

## May 20, 2017

Github Libraries / Randomized Algorithms

## May 02, 2017

Online Courses

- MIT - 6-046j - Similar to the previous one, but with different algorithms.

Online Judges / Randomized Algorithms

- ACM-ICPC Live Archive - Hundreds of problems from previous ACM-ICPC Regionals and World Finals.

- CS Academy - Holds online contests and IOI practice contests

- CodeChef - More problems and monthly online contests.

- CodeWars - A website that houses support to solve algorithms in many languages in varying difficulty.

- Kattis- Online judge and problem archive

## Mar 29, 2017

Github Libraries / Randomized Algorithms

## Jan 26, 2017

Online Courses

- Algorithms: Divide and Conquer, Sorting and Searching, and Randomized Algorithms - The primary topics are: asymptotic ("Big-oh") notation, sorting and searching, divide and conquer, and randomized algorithms.

- Algorithms: Graph Search, Shortest Paths, and Data Structures - The primary topics are: data structures, graph primitives, and their applications.

- Algorithms: Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming - The primary topics are: greedy algorithms and dynamic programming.

- Algorithms: Shortest Paths Revisited, NP-Complete Problems and What To Do About Them - The primary topics are: shortest paths, NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems.

- Algorithms, Part II - Part II focuses on graph- and string-processing algorithms.

## Nov 23, 2016

Online Judges / Randomized Algorithms

- Snakify - An introductory Python course with 100+ algorithmic problems and a step-by-step debugger (from Russia).

## Oct 26, 2016

Websites

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

- Data Structure Visualizations - Visualize the behavior of Data Structures and play with its operations.

- Sorting Algorithms - Nice and simple animations of sorting algorithms. With short codes and discussions.

- VisuAlgo - Visualising data structures and algorithms through animation.

- Wikipedia - Algorithms - Of course!!

- Wikipedia - Data Structures - and why not ?!!

Online Courses

- Udacity Intro to Algorithms - Python-based Algorithms course.

Books / Algorithms and Data structures

- Algorithms - Problems explained with Java, OO good practices, visualizations, and free online resources.

- Data Structures Using C - The basic concepts and usages of data structures.

- Elementary Algorithms (⭐5.4k) - An awesome book about algorithms and data structures.

- Grokking Algorithms - An illustrated book on algorithms with practical examples.

- Introduction to Algorithms - Essential!

- The Art of Computer Programming - The Book.

Online Judges / Randomized Algorithms

- AIZU ONLINE JUDGE - Japanese Online Judge.

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

- HackerRank - Featured algorithm and functional programming online judges

- Infoarena - Romanian Online Judge. 1500+ algorithmic problems

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

- SPOJ - More problems.

## Feb 03, 2016

Github Libraries / Randomized Algorithms

## Nov 21, 2015

Online Judges / Randomized Algorithms

- ShareCode.io - Online Judge and contest host with a lot of algorithmic problems in the archive to practice.

## Jul 08, 2015

Tools / Randomized Algorithms

- interactive-coding-challenges (⭐26k) - Interactive, test-driven coding challenges (algorithms and data structures).

## Jul 23, 2014

Github Libraries / Randomized Algorithms

- Objective-C

## Jul 18, 2014

Github Libraries / Randomized Algorithms

## Jul 17, 2014

Github Libraries / Randomized Algorithms

## Jul 16, 2014

Github Libraries / Randomized Algorithms