awesome-algorithms
Algorithm learning resource
A curated list of resources to learn and practice algorithms.
A curated list of awesome places to learn and/or practice algorithms.
21k stars
618 watching
3k forks
last commit: 5 days ago
Linked from 11 awesome lists
Awesome Algorithms / Websites | |||
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 | ||
Awesome Algorithms / Youtube Playlists | |||
Tim Roughgarden. Algorithms Illuminated | Tim Roughgarden, a pioneer of computer science, offers a companion to his book, with lecture videos and slides | ||
FreeCodeCamp - Algorithms and Data Structures Tutorial - Full Course for Beginners | Complete beginner friendly Algorithms and Data Structures Tutorial with mindblowing animation | ||
Abdul Bari - Introduction to Algorithm | This playlist is so much informative and provide simulation with code example. As like as you are in a class | ||
Jenny's Lectures- Algorithm | Another complete algorithm playlist from basic level to intermediate. Easy explanation and simulation | ||
Awesome Algorithms / 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 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 | ||
Algorithms, Part II | Part II focuses on graph- and string-processing algorithms | ||
Khan Academy Algorithms | Algorithm course ministered by Tomas Cormen and Devin Balkcom | ||
MIT - 6-006 | Well explained algorithms | ||
MIT - 6-046j | Similar to the previous one, but with different algorithms | ||
MIT - 6-00sc | An easy and well-explained introduction to algorithms | ||
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 | ||
Udacity Intro to Algorithms | Python-based Algorithms course | ||
Algorithms in Motion | Beginner's algorithms course with fun illustrations, based on the book Grokking Algorithms | ||
Awesome Algorithms / Books / Algorithms and Data structures | |||
Algorithm Design | Pretty straightforward | ||
Algorithms | Problems explained with Java, OO good practices, visualizations, and free online resources | ||
Algorithms and Data Structures in JavaScript | Classical algorithms and data structures implemented and explained using JavaScript | ||
Algorithms in a Nutshell | by George T. Heineman | ||
Classic Computer Science Problems in Python | -This great book presents dozens of coding challenges, ranging from simple tasks to clustering data using k-means | ||
Data Structures and Algorithms Made Easy | A great way to implement algorithms with their specific programmable tasks | ||
Data Structures Using C | The basic concepts and usages of data structures | ||
Elementary Algorithms | 6,092 | 21 days ago | An awesome book about algorithms and data structures |
Grokking Algorithms | An illustrated book on algorithms with practical examples | ||
Introduction to Algorithms | Essential! | ||
Real World Algorithms: A Beginner's Guide | An introduction to algorithms for readers with no background in advanced mathematics or computer science | ||
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 | ||
The Art of Computer Programming | The Book | ||
Structure and Interpretation of Computer Programs | |||
Advanced Algorithms and Data Structures | A different and a great way to introduce algorithms and data structures that can be used at work | ||
Algorithmic Puzzles | A very accessible illustration of algorithms in the forms of puzzles. No programming experience is required! | ||
Standford CS166 | Standford CS166, a course in the design, analysis, and implementation of data structures | ||
Grokking Data Structures | Grokking Data Structures carefully guides you from the most basic data structures like arrays or linked lists all the way to powerful structures like graphs. It’s perfect for beginners | ||
Awesome Algorithms / 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 | ||
Awesome Algorithms / 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 | ||
Awesome Algorithms / Cheat Sheets | |||
Tech Interview Cheat Sheet | 4,275 | 5 months ago | |
Princeton DS Cheat Sheet | |||
CLRS in short | |||
Rice university DS course in short | |||
Useful Reddit thread | |||
Algo Deck | 5,679 | about 2 months ago | An open-source collection of +200 algorithmic cards |
Awesome Algorithms / Github Libraries / C | |||
by @fragglet | 3,350 | about 1 year ago | |
by @TheAlgorithms | 19,308 | 4 months ago | |
Awesome Algorithms / Github Libraries | |||
CoffeeScript | 37 | over 7 years ago | |
Awesome Algorithms / Github Libraries / C# | |||
by @shkolovy | 35 | over 7 years ago | |
by @aalhour | 5,956 | over 1 year ago | |
by @justcoding121 | 1,316 | about 2 years ago | |
Awesome Algorithms / Github Libraries / C++ | |||
by @xtaci | 5,274 | 4 months ago | |
by @PetarV- | 645 | over 2 years ago | |
by @faheel | 510 | 7 months ago | |
by @sslotin | |||
Awesome Algorithms / Github Libraries | |||
Erlang | 158 | over 4 years ago | |
Awesome Algorithms / Github Libraries / Go | |||
by @arnauddri | 1,855 | almost 4 years ago | |
by @floyernick | 2,772 | 6 months ago | |
Awesome Algorithms / Github Libraries / Java | |||
by @jpa99 | 127 | almost 4 years ago | |
by @phishman3579 | 4,454 | almost 2 years ago | |
by @asmolich | 14 | over 10 years ago | |
by @psjava | 72 | about 4 years ago | |
by @jeandersonbc | 22 | almost 7 years ago | |
by @pedrovgs | 2,788 | 6 months ago | |
by @Erdos-Graph-Framework | 127 | about 1 year ago | |
by @deepak-malik | 145 | almost 3 years ago | |
by @yusufcakal | 24 | about 5 years ago | |
by @FarheenB | 142 | over 2 years ago | |
Awesome Algorithms / Github Libraries / JavaScript | |||
by @jiayihu | 2,189 | about 7 years ago | |
by @felipernb | 3,726 | over 2 years ago | |
by @nzakas | 9,065 | 11 months ago | |
by @duereg | 927 | about 1 year ago | |
by @mgechev | 7,838 | 7 months ago | |
by @trekhleb | 188,456 | 3 months ago | |
by @ManrajGrover | 199 | 10 months ago | |
by @amejiarosario | 7,606 | 10 months ago | |
by @zonayedpca | 111 | almost 2 years ago | |
Awesome Algorithms / Github Libraries / Lua | |||
by @evandrolg | 50 | over 5 years ago | |
Awesome Algorithms / Github Libraries / Objective-C | |||
by @ EvgenyKarkan | 2,422 | 2 months ago | |
Awesome Algorithms / Github Libraries / PHP | |||
by @TheAlgorithms | 2,127 | about 1 month ago | |
Awesome Algorithms / Github Libraries / Python | |||
by @nryoung | 2,851 | about 6 years ago | |
by @prakhar1989 | 3,053 | over 3 years ago | |
by @laurentluce | 279 | almost 2 years ago | |
by @nbro | 60 | 3 months ago | |
by @keon | 24,076 | 4 months ago | |
by @vinta | 691 | over 1 year ago | |
Awesome Algorithms / Github Libraries / Ruby | |||
by @kanwei | 2,669 | 10 months ago | |
by @sagivo | 3,264 | over 2 years ago | |
by @kumar91gopi | 719 | 5 days ago | |
Awesome Algorithms / Github Libraries | |||
Scala | 1,468 | over 1 year ago | |
Awesome Algorithms / Github Libraries / Swift | |||
by @kingreza | 42 | over 7 years ago | |
by @waynewbishop | 2,098 | over 2 years ago | |
by @hollance | 28,822 | 7 months ago | |
Awesome Algorithms / Github Libraries / Language agnostic | |||
by @kennyledet | 2,196 | almost 3 years ago | |
by @indy256 | 1,939 | 3 months ago | |
by @sagivo | 3,264 | over 2 years ago | |
by @patmorin | 1,209 | almost 3 years ago | |
by @btjanaka | 3 | about 1 month ago | |
Awesome Algorithms / Online Judges | |||
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 | A Japanese online judge from the University of Aizu, offering a wide range of algorithmic challenges | ||
Algo Muse | Research-based algorithmic problems | ||
AtCoder | Japanese programming contest website | ||
Baekjoon Online Judge | Korean Online Judge. 10000+ problems. Supports 60+ languages | ||
Beecrowd | The Largest Competitive Programming and Online Code Judgement Platform in Latin America | ||
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 | ||
Paiza | A Japanese platform offering coding challenges and career preparation | ||
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 | ||
Awesome Algorithms / Blogs | |||
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 | ||
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 | ||
Algorithm Tutorials by Tanuj Khattar | Excellent blog by Tanuj Khattar. Covers tutorials on some interesting data structures along with example problems to solve | ||
Awesome Algorithms / Tools | |||
interactive-coding-challenges | 29,553 | 7 months ago | Interactive, test-driven coding challenges (algorithms and data structures) |
Awesome Algorithms / Related Awesome Lists | |||
Math | 8,869 | 5 days ago | Freely available lecture notes on mathematics |
Theoretical Computer Science | 707 | 16 days ago | The interdisciplinary of Mathematics and Computer Science, Distinguished by its emphasis on mathematical technique and rigour |
Backlinks from these awesome lists:
- sindresorhus/awesome
- fffaraz/awesome-cpp
- bayandin/awesome-awesomeness
- lnishan/awesome-competitive-programming
- jnv/lists
- endymecy/awesome-deeplearning-resources
- mostafatouny/awesome-theoretical-computer-science
- erichs/awesome-awesome
- flyhigher139/awesome-collection
- coopermaa/awesome-awesome
- 0ex/more-awesome