Competitive Programmer's Handbook (opens provider site in a new tab)
Antti Laaksonen's concise handbook. The gateway into competitive programming.
Core structures, complexity, and problem-solving — for interviews and for better code.
16 picks · 11 free · 14 providers · curated by Rowland Kuru
Editor's intro
Data structures and algorithms are the part of computer science that shows up in technical interviews, but they matter well beyond that: knowing when a hash map beats a list, or why a loop is quietly quadratic, changes how you write everyday code. This feed mixes university courses, practice platforms, and a few well-chosen books.
Pick one language you already know well and do everything in it. Start with a structured course so you meet the core structures in a sensible order, then practise problems steadily — a few a week beats a cram. Intermediate resources focus on patterns and interview prep; advanced ones are for competitive programming and algorithm design proper.
Start here
Princeton's Algorithms, Part I, taught by Robert Sedgewick and Kevin Wayne, is free on Coursera and remains one of the best algorithms courses ever recorded. It focuses on implementing each structure correctly and analyzing its performance, with programming assignments graded by an autograder that's famously strict about both correctness and efficiency. The course uses Java, but the ideas transfer directly. If you finish Part I and its assignments, you'll understand the fundamentals better than most working developers.
Antti Laaksonen's concise handbook. The gateway into competitive programming.
Three hundred carefully ordered problems. Finishing the early sections is serious evidence of skill.
Partner Some links on this page are affiliate links, marked Partner. Commissions fund the site at no cost to you. Read our affiliate disclosure.
Arrays, linked lists, stacks, queues, hash tables, sorting, and Big O. Do everything in one language you know.
A gentle, visual introduction to searching, sorting, recursion, and graphs.
Builds arrays, linked lists, hash tables, and trees in C. Superb foundations for everything else.
Animations of every classic data structure and algorithm. Use it whenever a diagram would help.
Illustrated and friendly. The right book if algorithm textbooks have intimidated you before.
Colt Steele's approachable walk through Big O and problem-solving patterns, in JavaScript.
Implements the core structures in Python step by step. Good for learners who learn by typing.
Trees, graphs, dynamic programming, and the problem patterns that show up in technical interviews.
Whiteboard explanations of dynamic programming, graphs, and complexity that many find clearer than textbooks.
MIT's core algorithms course with full lectures and problem sets. More mathematical than most.
The standard practice platform. Work from a curated list rather than grinding problems at random.
A curated problem list grouped by pattern, with free video solutions. Efficient interview prep.
Tim Roughgarden's proof-driven course. Teaches you to reason about algorithms, not memorize them.
Algorithm design and proof, competitive programming, and the textbooks specialists use.
A full university textbook, free. Exceptionally clear on recursion, dynamic programming, and graphs.
Antti Laaksonen's concise handbook. The gateway into competitive programming.
Three hundred carefully ordered problems. Finishing the early sections is serious evidence of skill.
Skiena's practical catalogue of problems and war stories. The book for applying algorithms at work.