A curated list of awesome places to learn and/or practice algorithms. Inspired by awesome-awesomeness and all the other awesome Awesome libraries.
If you want to contribute, please read the contribution guidelines.
- Algorithm Visualizer - Dozens of animated algorithms (with code), and you can also create your own.
- VisuAlgo - Visualising data structures and algorithms through animation.
- redblobgames - interactive visual explanations of math and algorithms, using motivating examples from computer games.
- 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.
- 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.
- CP-Algorithms - Algorithms and data structures are especially popular in the field of competitive programming.
- Introduction to Algorithms - Standard classic for anyone.
- The Algorithm Design Manual - Easy to read and full of real-world examples.
- The Art of Computer Programming - Knuth's classic.
- Real World Algorithms: A Beginner's Guide - An introduction to algorithms for readers with no background in advanced mathematics or computer science.
- 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.
- 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.
- 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.
- Grokking AI Algorithms, Second Edition - A book that teaches the theory behind AI with beautifully simple illustrations, step-by-step pseudocode, and intuitive explanations that make the math simple.
- Fabulous Adventures in Data Structures and Algorithms - It teaches lesser-known algorithmic approaches like immutable data structures—stacks, queues, deques, and unusual constructions like Hughes lists.
- Tech Interview Cheat Sheet
- Princeton DS Cheat Sheet
- CLRS in short
- Rice university DS course in short
- Useful Reddit thread
- Algo Deck - An open-source collection of +200 algorithmic cards.
- Codeforces - Challenging problems.
- TopCoder - Sponsored by tech companies.
- Leet Code - Interviews problems.
- UVA - Archives previous ACM-ICPC Regionals and World Finals.
- HackerEarth - Accessible tutorials for beginners.
- Code Chef - Accessible problems for beginners.
- ProjectEuler - Math oriented problems.
- 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.
- interactive-coding-challenges - Interactive, test-driven coding challenges (algorithms and data structures).
- 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.
This work is licensed under a Creative Commons Attribution 4.0 International License.
