User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Algorithms

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

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Nov. 26, 2020, 6:14 a.m.

Thank you tayllan & contributors
View Topic on GitHub:
tayllan/awesome-algorithms

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Websites

Interactive visualisations for learning how graph traversal algorithms work

A didactic, animated, exposition of algorithms.

Dozens of animated algorithms (with code), and you can also create your own.

A dense article on Algorithms Visualization.

Big-O complexities of common algorithms used in Computer Science.

Practice problems recommender (includes Codeforces, Codechef and Spoj).

Algorithms and data structures especially popular in field of competitive programming.

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

Lots and lots of well explained and implemented algorithms.

A visual representation on how algorithms such as A*, IDA*, Breadth-First-Search, Best-First-Search and others describe a path between two points A and B.

A programming chrestomathy site which aims to present implementations of many algorithms and data structures in different programming languages.

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

Some algorithms nicely explained.

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

Visualising data structures and algorithms through animation.

Online Courses

The primary topics are: asymptotic ("Big-oh") notation, sorting and searching, divide and conquer, and randomized algorithms.

The primary topics are: data structures, graph primitives, and their applications.

The primary topics are: shortest paths, NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems.

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.

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

Algorithm course ministred by Tomas Cormen and Devin Balkcom.

Similar to the previous one, but with different algorithms.

An easy and well explained introduction to algorithms.

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

Lots of well explained vidoes on various computer science subjects.~~ Account terminated due to violations of Youtube Policies.

Books

Book of Elementary Algorithms and Data structures

4.03K
609
42d
n/a

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

Classical algorithms and data structures implemented and explained using JavaScript.

A great way to implement algorithms with their specific programmable tasks.

The basic concepts and usages of data structures.

An illustrated book on algorithms with practical examples.

An introduction to algorithms for readers with no background in advanced mathematics or computer science.

A practical guide to concepts, theory and code.

has been touted by many to be best for getting that job in Google. In addition, he's also well-known for tutoring students in competitive programming competitions. If you're looking to brush up your knowledge on Algorithms, you can't go wrong with this course.

A different and a great way to introduce algorithms and data structures that can be used at work.

Cheat Sheets

Github Libraries

A library of common data structures and algorithms written in C.

2.37K
606
56d
ISC

Collection of various algorithms in mathematics, machine learning, computer science, physics, etc implemented in C for educational purposes.

6.06K
2.16K
22d
GPL-3.0

Classic algorithms and data structures in coffeescript. Making the World a better place, with coffee.

37
5
3y 6m
MIT

Classic algorithms on C#

23
8
3y 5m
n/a

Plug-and-play class-library project of standard Data Structures and Algorithms in C#

3.98K
1.05K
6m
MIT

100+ algorithms & data structures generically implemented in C#.

677
144
16d
MIT

Algorithms & Data structures in C++.

3.83K
1.37K
4d
MIT

Several algorithms and data structures implemented in C++ by me (credited to others where necessary).

444
210
7m
MIT

C++ implementations of well-known (and some rare) algorithms, while following good software development practices

339
308
19d
MIT

Implementations of popular data structures and algorithms

131
33
2y 7m
Apache-2.0

Algorithms & Data Structures in Go

1.7K
253
5y 9m
n/a

A collection of various useful algorithms and data structures along with their Java implementations.

88
28
2y 11m
MIT

Algorithms and Data Structures implemented in Java

3.6K
1.54K
10m
Apache-2.0

Classic algorithms

15
8
6y 4m
n/a

Java Algorithm Library for Problem Solving

63
13
8m
MIT

Algorithms and Data Structures

22
8
2y 11m
GPL-2.0

Solutions for some common algorithm problems written in Java.

2.63K
772
17d
Apache-2.0

modular and modern graph-theory algorithms framework in Java

102
8
3y 7m
MIT

Data Structures implemented in Java

70
41
3y 28d
MIT

basic algorithms and solutions

20
2
1y 47d
n/a

🌊 Pretty, common and useful algorithms with modern JS and beautiful tests

2.14K
100
3y 93d
MIT

Atwood's Law applied to CS101 - Classic algorithms and data structures implemented in JavaScript

3.22K
367
1y 9m
MIT

Collection of classic computer science paradigms, algorithms, and approaches written in JavaScript.

7.51K
1.1K
55d
MIT

Javascript versions of classic software development algorithms

893
235
1y 10m
n/a

💻 JavaScript implementation of different computer science algorithms.

6.5K
1.14K
27d
MIT

📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

86.63K
14.58K
24d
MIT

Consumable Data Structures and Algorithms library in JavaScript

149
106
117d
MIT

🥞Data Structures and Algorithms explained and implemented in JavaScript + eBook

5.5K
512
27d
MIT

🛠🛠🛠 Widely used Algorithms and Data Structures using JavaScript 🛠🛠🛠

57
19
7m
n/a

Implementation of some classic data structures and algorithms in Lua

42
4
1y 8m
n/a

EKAlgorithms contains some well known CS algorithms & data structures.

2.41K
380
1y 8m
MIT

This repository is not maintained

2.87K
721
2y 7m
n/a

Data Structures and Algorithms in Python

2.58K
745
4y 28d
WTFPL

Algorithms implemented in Python

257
119
10m
n/a

Algorithms and data structures for educational, demonstrational and experimental purposes.

42
10
2y 44d
MIT

Minimal examples of data structures and algorithms in Python

18.3K
3.74K
4d
MIT

Ruby algorithms and data structures. C extensions

2.47K
335
3y 8m
MIT

algorithms playground for common questions

3.19K
341
1y 102d
n/a

Ruby implementation of Algorithms,Data-structures and programming challenges

463
161
33d
n/a

Purely Functional Algorithms and Data Structures in Scala

1.34K
314
2y 0d
n/a

Implementation of multiple string manipulation algorithms in Swift

38
8
3y 5m
MIT

Examples of commonly used data structures and algorithms in Swift.

2.02K
280
1y 11m
n/a

Algorithms and data structures in Swift, with explanations!

23.98K
4.17K
89d
MIT

Share, discuss and learn about algorithm implementations!

2.09K
517
1y 4m
MIT

Collection of algorithms and data structures

1.34K
447
13d
Unlicense

Mission: To provide a high-quality open content data structures textbook that is both mathematically rigorous and provides complete implementations.

891
211
11m
n/a

Online Judges

Online Judge and problem archive.

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

Research based algorithmic problems.

Japanese programming contest website.

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

Holds online contests and IOI practice contests

More problems and monthly online contests.

The only programming contests Web 2.0 platform

Practive programming and tackle out your next tech interview

Real world contests online!

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

A decent website with algorithm challenges from beginner to advanced levels. Supports most of the popular languages like C++, python, javascript, ruby.

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.

Website that have problems based on Maths, Data Structures, Various Algorithm and also conducts Coding Competition.

Practice alogrithmic problems & challenges and participate in hiring challenges.

Featured algorithm and functional programming online judges

Chinese and English problem solving practice and recruitment challenge site.

Romanian Online Judge. 1500+ algorithmic problems

Learn, practice and prepare for interviews.

Online judge and problem archive

Korean Online Judge(Half English). 1300+ problems.

Learn and practice algorithms by solving challenges online.

Chinese Online Judge.

Mathematical problems that can be solved using algorithms (or just a pencil, depends on how much you already know).

A platform for learning bioinformatics and programming through problem solving.

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

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

More problems.

Lots of problems and real world/money worthy problems in Graphic Design, Data Science and Development.

URI

Brazilian Online Judge. Not so much problems, but it's growing and it has online contests.

UVA

Hundreds of problems (from previous ACM-ICPC Regionals, World Finals and others).

Blogs

Awesome blog for all the resources and list of books and algorithms.

A good blog by Petr Mitrichev, mainly in Java.

Really informative blog for starting with the sport of programming.

For getting deeper knowledge of algorithms and how to think in right direction.

Tools

120+ interactive Python coding interview challenges (algorithms and data structures). Includes Anki flashcards.

21.3K
3.38K
113d
n/a