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
613 watching
3k forks
last commit: 12 months 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,142 | 11 months 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,327 | over 1 year ago | |
| Princeton DS Cheat Sheet | |||
| CLRS in short | |||
| Rice university DS course in short | |||
| Useful Reddit thread | |||
| Algo Deck | 5,690 | about 1 year ago | An open-source collection of +200 algorithmic cards |
Awesome Algorithms / Github Libraries / C | |||
| by @fragglet | 3,368 | 11 months ago | |
| by @TheAlgorithms | 19,440 | about 1 year ago | |
Awesome Algorithms / Github Libraries | |||
| CoffeeScript | 37 | over 8 years ago | |
Awesome Algorithms / Github Libraries / C# | |||
| by @shkolovy | 35 | over 8 years ago | |
| by @aalhour | 5,971 | about 2 years ago | |
| by @justcoding121 | 1,320 | about 3 years ago | |
Awesome Algorithms / Github Libraries / C++ | |||
| by @xtaci | 5,291 | about 1 year ago | |
| by @PetarV- | 648 | over 3 years ago | |
| by @faheel | 514 | over 1 year ago | |
| by @sslotin | |||
Awesome Algorithms / Github Libraries | |||
| Erlang | 158 | over 5 years ago | |
Awesome Algorithms / Github Libraries / Go | |||
| by @arnauddri | 1,854 | over 4 years ago | |
| by @floyernick | 2,772 | over 1 year ago | |
Awesome Algorithms / Github Libraries / Java | |||
| by @jpa99 | 128 | almost 5 years ago | |
| by @phishman3579 | 4,463 | almost 3 years ago | |
| by @asmolich | 15 | over 11 years ago | |
| by @psjava | 73 | about 5 years ago | |
| by @jeandersonbc | 23 | almost 8 years ago | |
| by @pedrovgs | 2,790 | over 1 year ago | |
| by @Erdos-Graph-Framework | 128 | about 2 years ago | |
| by @deepak-malik | 146 | almost 4 years ago | |
| by @yusufcakal | 25 | about 6 years ago | |
| by @FarheenB | 144 | over 3 years ago | |
Awesome Algorithms / Github Libraries / JavaScript | |||
| by @jiayihu | 2,186 | about 8 years ago | |
| by @felipernb | 3,727 | over 3 years ago | |
| by @nzakas | 9,072 | almost 2 years ago | |
| by @duereg | 927 | about 2 years ago | |
| by @mgechev | 7,844 | over 1 year ago | |
| by @trekhleb | 188,874 | about 1 year ago | |
| by @ManrajGrover | 200 | over 1 year ago | |
| by @amejiarosario | 7,625 | over 1 year ago | |
| by @zonayedpca | 112 | almost 3 years ago | |
Awesome Algorithms / Github Libraries / Lua | |||
| by @evandrolg | 50 | over 6 years ago | |
Awesome Algorithms / Github Libraries / Objective-C | |||
| by @ EvgenyKarkan | 2,421 | about 1 year ago | |
Awesome Algorithms / Github Libraries / PHP | |||
| by @TheAlgorithms | 2,167 | about 1 year ago | |
Awesome Algorithms / Github Libraries / Python | |||
| by @nryoung | 2,848 | almost 7 years ago | |
| by @prakhar1989 | 3,053 | about 4 years ago | |
| by @laurentluce | 279 | over 2 years ago | |
| by @nbro | 60 | about 1 year ago | |
| by @keon | 24,129 | over 1 year ago | |
| by @vinta | 691 | over 2 years ago | |
Awesome Algorithms / Github Libraries / Ruby | |||
| by @kanwei | 2,676 | almost 2 years ago | |
| by @sagivo | 3,261 | about 3 years ago | |
| by @kumar91gopi | 722 | 11 months ago | |
Awesome Algorithms / Github Libraries | |||
| Scala | 1,469 | about 2 years ago | |
Awesome Algorithms / Github Libraries / Swift | |||
| by @kingreza | 42 | over 8 years ago | |
| by @waynewbishop | 2,098 | over 3 years ago | |
| by @hollance | 28,859 | 11 months ago | |
Awesome Algorithms / Github Libraries / Language agnostic | |||
| by @kennyledet | 2,193 | almost 4 years ago | |
| by @indy256 | 1,944 | about 1 year ago | |
| by @sagivo | 3,261 | about 3 years ago | |
| by @patmorin | 1,212 | over 3 years ago | |
| by @btjanaka | 3 | about 1 year 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,635 | over 1 year ago | Interactive, test-driven coding challenges (algorithms and data structures) |
Awesome Algorithms / Related Awesome Lists | |||
| Math | 8,977 | 12 months ago | Freely available lecture notes on mathematics |
| Theoretical Computer Science | 747 | 11 months 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