# awesome-algorithms **Repository Path**: awesome-lib/awesome-algorithms ## Basic Information - **Project Name**: awesome-algorithms - **Description**: A curated list of awesome places to learn and/or practice algorithms. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2020-07-07 - **Last Updated**: 2026-01-03 ## Categories & Tags **Categories**: mathlibs **Tags**: None ## README # Awesome Algorithms A curated list of awesome places to learn and/or practice algorithms. Inspired by [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) and all the other awesome Awesome libraries. If you want to contribute, please read the [contribution guidelines](https://github.com/tayllan/awesome-algorithms/blob/master/CONTRIBUTING.md). - [Awesome Algorithms](#awesome-algorithms) - [Beginner-Friendly](#beginner-friendly) - [Programming Contest](#programming-contest) - [Theory & Fundamentals](#theory--fundamentals) - [Production System](#production-system) - [Database](#database) - [Special Topic](#special-topic) - [Cheat Sheet](#cheat-sheet) - [Related Awesome List](#related-awesome-list) ## Beginner-Friendly ### YouTube Playlist * [Khan Academy Algorithms](https://www.khanacademy.org/computing/computer-science/algorithms) - Algorithm course ministered by Tomas Cormen and Devin Balkcom. * [FreeCodeCamp - Algorithms and Data Structures Tutorial - Full Course for Beginners](https://www.youtube.com/watch?v=8hly31xKli0) - Complete beginner friendly Algorithms and Data Structures Tutorial with mindblowing animation. * [Abdul Bari - Introduction to Algorithm](https://www.youtube.com/watch?v=0IAPZzGSbME&list=PLDN4rrl48XKpZkf03iYFl-O29szjTrs_O) - This playlist is so much informative and provide simulation with code example. As like as you are in a class. * [Jenny's Lectures- Algorithm](https://www.youtube.com/watch?v=AT14lCXuMKI&list=PLdo5W4Nhv31bbKJzrsKfMpo_grxuLl8LU) - Another complete algorithm playlist from basic level to intermediate. Easy explanation and simulation. ### Book * [Real World Algorithms: A Beginner's Guide](https://mitpress.mit.edu/books/real-world-algorithms) - An introduction to algorithms for readers with no background in advanced mathematics or computer science. * [Levitin. Introduction to Algorithms](https://www.amazon.com/Introduction-Design-Analysis-Algorithms-3rd/dp/0132316811) - A very accessible illustration of algorithms in the forms of puzzles. No programming experience is required! ### Interactive Learning & Visualization * [VisuAlgo](http://visualgo.net) - Visualising data structures and algorithms through animation. * [See Algorithms](https://see-algorithms.com/) – Visualizes algorithms and lets users create and share custom graphs and binary trees. ## Programming Contest ### Website * [CP-Algorithms](https://cp-algorithms.com/) - Algorithms and data structures are especially popular in the field of competitive programming. ### Book - [Steven Halim. Competitive Programming book](https://cpbook.net/) ### Competition Website * [HackerEarth](https://www.hackerearth.com/) - Accessible tutorials for beginners. * [Code Chef](https://www.codechef.com/contests) - Accessible problems for beginners. * [Codeforces](http://codeforces.com/) - Challenging problems. * [TopCoder](https://www.topcoder.com/) - Sponsored by tech companies. * [Leet Code](https://leetcode.com/) - Interviews problems. * [UVA](https://uva.onlinejudge.org/) - Archives previous ACM-ICPC Regionals and World Finals. * [ProjectEuler](https://projecteuler.net/) - Math oriented problems. ### Blog * [An awesome list for competitive programming!](https://codeforces.com/blog/entry/23054) - Awesome blog for all the resources and list of books and algorithms. * [Algorithms Weekly](https://petr-mitrichev.blogspot.com/) - A good blog by Petr Mitrichev, mainly in Java. * [Algorithm Tutorials by Tanuj Khattar](https://tanujkhattar.wordpress.com/) - Excellent blog by Tanuj Khattar. Covers tutorials on some interesting data structures along with example problems to solve. ## Theory & Fundamentals ### Book * [Introduction to Algorithms](https://mitpress.mit.edu/9780262046305/introduction-to-algorithms/) - Standard classic for anyone. * [The Art of Computer Programming](http://www-cs-faculty.stanford.edu/~uno/taocp.html) - Knuth's classic. * [The Algorithm Design Manual](http://www.algorist.com/) - Easy to read and full of real-world examples. ### Online Course * [MIT - 6-006](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/video_galleries/lecture-videos/) - Well explained algorithms. * [MIT - 6-046j](https://ocw.mit.edu/courses/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video_galleries/video-lectures/) - Similar to the previous one, but with different algorithms. * [MIT - 6-00sc](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/index.htm) - An easy and well-explained introduction to algorithms. ### YouTube Playlist * [Tim Roughgarden. Algorithms Illuminated](https://www.algorithmsilluminated.org/) - Tim Roughgarden, a pioneer of computer science, offers a companion to his book, with lecture videos and slides. ## Production System * [Performance Engineering of Software Systems. MIT OCW](https://ocw.mit.edu/courses/6-172-performance-engineering-of-software-systems-fall-2018/) - 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](https://www.wileyindia.com/cloud-and-distributed-computing-algorithms-and-systems.html) - It teaches the internals of cloud computing and how concepts of distributed systems work inside clouds. ## Database * [PostgreSQL Query Optimization: The Ultimate Guide to Building Efficient Queries](https://www.oreilly.com/library/view/postgresql-query-optimization/9781484268858/) - It introduces different classes of queries and optimization techniques suitable to each, such as the use of indexes and specific join algorithms. ## Special Topic * [Fabulous Adventures in Data Structures and Algorithms](https://www.manning.com/books/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. ## Cheat Sheet * [Tech Interview Cheat Sheet](https://github.com/TSiege/Tech-Interview-Cheat-Sheet) * [Princeton DS Cheat Sheet](https://algs4.cs.princeton.edu/cheatsheet/) * [CLRS in short](https://sinon.org/algorithms//#data-structures) * [Rice university DS course in short](https://www.clear.rice.edu/comp160/data1.html) * [Algo Deck](https://github.com/teivah/algodeck/) - An open-source collection of +200 algorithmic cards. ## Related Awesome List - [Theoretical Computer Science](https://github.com/mostafatouny/awesome-theoretical-computer-science/) - The interdisciplinary of Mathematics and Computer Science, distinguished by its emphasis on mathematical technique and rigour. - [Math](https://github.com/rossant/awesome-math#readme) - Freely available lecture notes on mathematics. ## License [![Creative Commons License](http://i.creativecommons.org/l/by/4.0/88x31.png)](http://creativecommons.org/licenses/by/4.0/) This work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).