awesome-algorithms
A curated list of awesome places to learn and/or practice algorithms.
https://github.com/tayllan/awesome-algorithms
Last synced: 4 days ago
JSON representation
-
Beginner-Friendly
-
Book
- Levitin. Introduction to Algorithms - A very accessible illustration of algorithms in the forms of puzzles. No programming experience is required!
- Real World Algorithms: A Beginner's Guide - An introduction to algorithms for readers with no background in advanced mathematics or computer science.
-
Interactive Learning & Visualization
- VisuAlgo - Visualising data structures and algorithms through animation.
- See Algorithms
- leetcode-py - Generates local LeetCode practice environments in Python, with Graphviz diagrams of trees, linked lists, and graphs in Jupyter and a parametrized pytest suite per problem.
- DSA View View - Runs your own TypeScript algorithm functions in the browser and shows arrays, matrices, trees, linked lists, stacks, and pointers changing step by step, with built-in LeetCode-style examples.
-
YouTube Playlist
- 5 hours - Complete beginner friendly Algorithms and Data Structures Tutorial with mindblowing animation.
- Khan Academy Algorithms - Algorithm course ministered by Tomas Cormen and Devin Balkcom.
-
-
Cheat Sheet
-
Database
-
YouTube Playlist
- PostgreSQL Query Optimization: The Ultimate Guide to Building Efficient Queries - It introduces different classes of queries and optimization techniques suitable to each, such as the use of indexes and specific join algorithms.
-
-
Production System
-
YouTube Playlist
- Performance Engineering of Software Systems. MIT OCW - A hands-on, project-based introduction to building scalable and high-performance software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, and caching optimizations.
- Cloud and Distributed Computing: Algorithms and Systems by Misra & Patel - It teaches the internals of cloud computing and how concepts of distributed systems work inside clouds.
-
-
Programming Contest
-
Blog
- An awesome list for competitive programming! - Awesome blog for all the resources and list of books and algorithms.
- Algorithm Tutorials by Tanuj Khattar - Excellent blog by Tanuj Khattar. Covers tutorials on some interesting data structures along with example problems to solve.
- Algorithms Weekly - A good blog by Petr Mitrichev, mainly in Java.
-
Book
-
Competition Website
- HackerEarth - Accessible tutorials for beginners.
- Leet Code - Interviews problems.
- ProjectEuler - Math oriented problems.
- TopCoder - Sponsored by tech companies.
- Code Chef - Accessible problems for beginners.
- Codeforces - Challenging problems.
- UVA - Archives previous ACM-ICPC Regionals and World Finals.
-
Website
- CP-Algorithms - Algorithms and data structures are especially popular in the field of competitive programming.
-
-
Related Awesome List
-
YouTube Playlist
- 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.
-
-
Special Topic
-
YouTube Playlist
- 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.
-
-
Theory & Fundamentals
-
Book
- 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.
-
Online Course
- 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.
-
YouTube Playlist
- Tim Roughgarden. Algorithms Illuminated - Tim Roughgarden, a pioneer of computer science, offers a companion to his book, with lecture videos and slides.
-
Programming Languages
Categories
Sub Categories