https://github.com/tayllan/awesome-algorithms
A curated list of awesome places to learn and/or practice algorithms.
https://github.com/tayllan/awesome-algorithms
List: awesome-algorithms
Last synced: 1 day ago
JSON representation
A curated list of awesome places to learn and/or practice algorithms.
- Host: GitHub
- URL: https://github.com/tayllan/awesome-algorithms
- Owner: tayllan
- Created: 2014-07-16T18:10:01.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2026-01-11T06:35:18.000Z (about 1 month ago)
- Last Synced: 2026-02-06T00:29:04.282Z (12 days ago)
- Size: 189 KB
- Stars: 24,670
- Watchers: 624
- Forks: 2,934
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
- awesome-python - awesome-algorithms
- awesome-cpp - awesome-algorithms - A curated list of awesome places to learn and/or practice algorithms. (Other Awesome Projects)
- more-awesome - Algorithms - Places to learn and/or practice algorithms. (Computer Science)
- awesome-projects - Algorithms
- lists - awesome-algorithms
- My-Awesome-List - Github: Awesome Algorithm
- awesome-collection - Algorithms
- awesome-awesome - awesome-algorithms
- awesome-deeplearning-resources - A curated list of awesome places to learn and/or practice algorithms.
- awesome-python-cn - awesome-algorithms
- awesome-list-of-lists - Algorithm Design (all languages)
- Resources - Awesome Algorithms
- awesome-competitive-programming - tayllan/awesome-algorithms
- awesome-network-analysis - Awesome Algorithms
- collection - awesome-algorithms
- awesome - Awesome-Algorithms
- awesome-possum - Algorithms
- awesome-awesomeness - Algorithms
- fucking-awesome-python - awesome-algorithms
- fucking-awesome - Algorithms
- fucking-awesome-cpp - awesome-algorithms - A curated list of awesome places to learn and/or practice algorithms. (Other Awesome Projects)
- fintech-awesome-libraries - Algorithms
- awesome-python-resources - awesome-algorithms
- awesomelist - awesome-algorithms
- awesome - tayllan/awesome-algorithms
- awesome - Algorithms
- awesome-cpp - awesome-algorithms - A curated list of awesome places to learn and/or practice algorithms. (Other Awesome Projects)
- awesome-data-analysis - Awesome Algorithms - Collection of resources for learning and practicing algorithms and data structures. (📝 More Awesome Lists / Miscellaneous)
- fucking-lists - awesome-algorithms
- my-awesome-github-stars - tayllan/awesome-algorithms - A curated list of awesome places to learn and/or practice algorithms. (Others)
- python-awesome - awesome-algorithms
- awesome - Algorithms
- awesome-competitive-programming - tayllan/awesome-algorithms
- awesome - Algorithms
- awesome-theoretical-computer-science - Algorithms
- awesome-python - awesome-algorithms
- awesomelist - awesome-algorithms
- awesome-list - tayllan/awesome-algorithms - A curated list of awesome places to learn and/or practice algorithms. (Programming Language / JavaScript)
- awesome-python-zh - awesome-algorithms
- Awesome-Web3 - Algorithms
- fucking-awesome-awesomeness - Algorithms
- awesome-cn - ç®—ćł•
- awesome-learning - Awesome Algorithms
- ultimate-awesome - awesome-algorithms - A curated list of awesome places to learn and/or practice algorithms. (Other Lists / TeX Lists)
- awesome-awesome - awesome-algorithms
- awesome-cn - Algorithms
- fucking-awesome-python - awesome-algorithms
- awesome - Algorithms
- awesome-learning - Algorithms - [Education](https://github.com/gaerae/awesome-algorithms-education#readme) - Learning and practicing. (Theory)
- awesome-network-analysis - Awesome Algorithms
- awesome-machine-learning-datascience_resources - A curated list of awesome places to learn and/or practice algorithms.
- awesome - Algorithms
- awesome - Algorithms
- fucking-awesome-python-cn - awesome-algorithms
- awesome-list - Algorithms
- awesome - Algorithms
- awesome - Algorithms
- awesome - Algorithms
- awesome - Awesome Algorithms - An Awesome list of algorithm resources, implementations, and references across multiple languages. ([Read more](/details/awesome-algorithms.md)) `computer-science` `education` `awesome-lists` (Themed Directories)
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: [5 hours](https://www.youtube.com/watch?v=8hly31xKli0), [49 hours](https://youtu.be/xwI5OBEnsZU?si=W3CduIEmUehJERHk) - Complete beginner friendly Algorithms and Data Structures Tutorial with mindblowing animation.
### 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
[](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/).