Resources
Algorithms & Data Structures
Curated books, courses, practice sites, and references for learning algorithms and data structures.
A personal shortlist of the resources I keep coming back to. Quality over quantity — enough to go from fundamentals to interview-ready and beyond.
Working through problems? The LeetCode section collects pattern-based walkthroughs and solutions.
Books
- Introduction to Algorithms (CLRS) — Cormen, Leiserson, Rivest, Stein. The comprehensive reference; rigorous and exhaustive rather than a beach read.
- The Algorithm Design Manual — Steven Skiena. The most practical of the bunch, with a "war stories" approach and a useful catalog of problems.
- Algorithms (4th ed.) — Sedgewick & Wayne. Approachable, with an excellent companion booksite.
- Grokking Algorithms — Aditya Bhargava. Illustrated and beginner-friendly; the gentlest on-ramp.
- Competitive Programmer's Handbook — Antti Laaksonen. Free, concise, and great once you're past the basics.
Lectures & Videos
- Stanford CS110L - A course on Rust systems programming.
Practice
- LeetCode - The standard for interview-style practice
- Codeforces - Competitive programming contests and problems
- CSES Problem Set - A well-structured set covering core techniques
- AtCoder - High-quality contests, strong on math and DP
- Advent of Code - A series of small programming puzzles
- InterviewDB - A database of real interview questions and answers
- BigFrontend - A collection of frontend interview questions and answers
References & visualization
- CP-Algorithms - Clear writeups of algorithms with implementations
- USACO Guide - A comprehensive guide for competitive programming
- VisuAlgo - Interactive visualizations of data structures and algorithms
- OI Wiki - A wiki for competitive programming
- Big-O Cheat Sheet - Quick complexity reference for common operations
Last updated on