Skip to content
All resources

DSA & Competitive Programming

Solve problems fast, ace interviews, win contests.

Data structures, algorithms and the practice platforms where you sharpen them.

91 resourcesSuggest a resource

Learning path

Work through these in order. Each step builds on the last.

Everything in DSA & Competitive Programming

The Last Algorithms Course You'll Need

ThePrimeagen's free course on arrays, lists, trees, graphs, maps, searching and sorting.

frontendmasters.com

Course

VisuAlgo

Watch data structures and algorithms run, step by step.

visualgo.net

Tool

NeetCode Roadmap

Interview problems grouped by pattern, with video solutions.

neetcode.io

Roadmap

LeetCode

The standard platform for interview-style coding problems.

leetcode.com

Practice

USACO Guide

A free, structured guide to competitive programming, from bronze to platinum.

usaco.guide

Guide

CodeChef

Beginner-friendly contests and a large Indian CP community.

codechef.com

Practice

CSES Problem Set

A classic collection of 300+ problems covering every core topic.

cses.fi

Practice

Competitive Programmer's Handbook

A free book by Antti Laaksonen covering the algorithms contests use.

cses.fi

Book

Codeforces

Frequent rated contests and a huge problem archive.

codeforces.com

Practice

AtCoder

Weekly contests known for clean, educational problems.

atcoder.jp

Practice

CP-Algorithms

Detailed write-ups of advanced algorithms with implementations.

cp-algorithms.com

Docs

NeetCode 150

A curated list of 150 interview problems with free video explanations.

neetcode.io

Practice

NeetCode YouTube

Clear video walkthroughs of hundreds of LeetCode problems and patterns.

youtube.com

Video

Striver's A2Z DSA Sheet

A step-by-step DSA sheet from basics to advanced, with articles and videos for every problem.

takeuforward.org

Roadmap

Striver's SDE Sheet

Striver's curated set of 180 must-do interview problems, grouped by pattern, for placement prep.

takeuforward.org

Practice

take U forward

Striver's channel with full playlists on graphs, DP, trees and placement prep.

youtube.com

Video

Blind 75

The original curated list of 75 LeetCode problems that cover the key interview patterns.

teamblind.com

Practice

Grind 75

A customizable week-by-week study plan of essential interview problems.

techinterviewhandbook.org

Practice

Tech Interview Handbook

Free guide to coding interviews, algorithm cheatsheets and behavioural rounds.

techinterviewhandbook.org

Guide

LeetCode Patterns

LeetCode problems grouped by pattern so you learn techniques, not answers.

seanprashad.com

Practice

Grokking the Coding Interview: Patterns

The paid course that popularised learning interview problems by pattern.

designgurus.io

Course

LeetCode Study Plans

Official guided problem sets like LeetCode 75 and Top Interview 150.

leetcode.com

Practice

Abdul Bari Algorithms

Famous whiteboard lectures on algorithm design and analysis, loved by Indian students.

youtube.com

Video

William Fiset

Clear animated videos on graph theory and data structures with Java code.

youtube.com

Video

Errichto Algorithms

A top competitive programmer explaining techniques and solving contests live.

youtube.com

Video

Colin Galen

Advice and problem-solving videos on getting better at competitive programming.

youtube.com

Video

CodeNCode

Long topic-wise playlists on CP topics from number theory to segment trees.

youtube.com

Video

Aditya Verma DP Playlist

A hugely popular Hindi playlist that teaches dynamic programming by pattern.

youtube.com

Video

Love Babbar DSA Sheet

A well-known 450-problem sheet for placement DSA practice.

geeksforgeeks.org

Practice

Back To Back SWE

Deep explanations of classic interview problems focusing on intuition.

youtube.com

Video

MIT 6.006 Lectures (2011)

Erik Demaine and Srini Devadas' classic recorded algorithms lectures.

youtube.com

Video

Algorithms Specialization (Stanford)

Tim Roughgarden's four-course series on divide and conquer, graphs, greedy and DP.

coursera.org

Course

Algorithms, Part I (Princeton)

Sedgewick's free Coursera course on fundamental data structures and sorting in Java.

coursera.org

Course

Algorithms, 4th Edition

The Sedgewick and Wayne textbook site with Java code, visualizations and exercises.

algs4.cs.princeton.edu

Book

Introduction to Algorithms (CLRS)

The definitive algorithms reference textbook used in universities worldwide.

mitpress.mit.edu

Book

The Algorithm Design Manual

Skiena's practical book on designing algorithms, with a catalogue of problems.

algorist.com

Book

Algorithms by Dasgupta, Papadimitriou and Vazirani

A short, elegant algorithms textbook available as free chapter drafts.

people.eecs.berkeley.edu

Book

Grokking Algorithms

An illustrated, beginner-friendly introduction to common algorithms.

manning.com

Book

Guide to Competitive Programming

Antti Laaksonen's expanded book on algorithms for programming contests.

link.springer.com

Book

Competitive Programming 4 (CP4)

Steven and Felix Halim's book of techniques for ICPC and IOI-style contests.

cpbook.net

Book

Algorithms Live

Recorded lectures on contest algorithms by experienced competitive programmers.

youtube.com

Video

Codeforces EDU

Free interactive courses on binary search, segment trees, DSU and more with practice.

codeforces.com

Course

AtCoder Problems

Track your AtCoder progress and practise past problems by difficulty.

kenkoooo.com

Tool

AtCoder Library

AtCoder's official C++ library of contest data structures and algorithms.

github.com

Repo

KACTL

KTH's famous ICPC team notebook of compact, tested algorithm implementations.

github.com

Repo

CP Templates by bqi343

Benjamin Qi's widely used competitive programming notebook in C++.

github.com

Repo

HackerRank

Practice tracks for algorithms, data structures and languages, widely used in hiring.

hackerrank.com

Practice

HackerEarth

Topic-wise tutorials and practice problems plus hiring challenges.

hackerearth.com

Practice

SPOJ

A classic online judge with thousands of problems in many languages.

spoj.com

Practice

Kattis

An online judge used by ICPC with a large archive of contest problems.

open.kattis.com

Practice

Project Euler

Maths-heavy programming puzzles that reward clever algorithms.

projecteuler.net

Practice

Advent of Code

A yearly December puzzle calendar loved by programmers of every level.

adventofcode.com

Practice

GeeksforGeeks DSA

Articles and practice problems on every DSA topic, popular for placements.

geeksforgeeks.org

Guide

Programiz DSA

Beginner-friendly explanations of data structures and algorithms with code.

programiz.com

Guide

TopCoder

One of the oldest competitive programming platforms, with SRM contests.

topcoder.com

Practice

CodeChef Learn

CodeChef's guided DSA and language courses with built-in practice.

codechef.com

Course

Codeforces Problemset

Filter thousands of past contest problems by rating and tag.

codeforces.com

Practice

Codeforces Catalog

Community-curated blogs and tutorials on CP topics, organised by subject.

codeforces.com

Guide

CLIST

A calendar of upcoming programming contests across every platform.

clist.by

Tool

Codeforces Visualizer (cfviz)

Charts of your Codeforces ratings, solved tags and problem difficulty.

cfviz.netlify.app

Tool

A2 Online Judge Ladders

Classic Codeforces problem ladders grouped by rating, for steady improvement.

a2oj.netlify.app

Practice

ICPC

The International Collegiate Programming Contest, the biggest team contest for students.

icpc.global

Community

ICPC India

Information and preliminary rounds for ICPC regionals in India, hosted on CodeChef.

codechef.com

Community

Google Code Jam Archive

An archive of past Google Code Jam and Kick Start problems and analyses.

zibada.guru

Practice

Data Structure Visualizations (USFCA)

Interactive animations of trees, heaps, hashing, graphs and sorting.

cs.usfca.edu

Tool

Python Tutor

Step through code and see memory, pointers and the call stack visually.

pythontutor.com

Tool

Graph Editor (CS Academy)

Draw and visualise graphs quickly, handy for debugging graph problems.

csacademy.com

Tool

Big-O Cheat Sheet

Time and space complexities of common data structures and sorting algorithms.

bigocheatsheet.com

Cheatsheet

The Algorithms

Open-source implementations of algorithms in Python, Java, C++ and many other languages.

github.com

Repo

Awesome Competitive Programming

A curated list of CP books, judges, courses and algorithm resources.

github.com

Repo

Awesome Algorithms

A curated list of places to learn and practise algorithms.

github.com

Repo

Interactive Coding Challenges

Interview problems as Python notebooks with tests and solutions.

github.com

Repo

Cracking the Coding Interview

Gayle McDowell's classic book of 189 interview questions and solutions.

crackingthecodinginterview.com

Book

Elements of Programming Interviews

A tough, thorough interview problem book in Python, Java or C++.

elementsofprogramminginterviews.com

Book

Exponent (Aced) Interview Prep

Mock interviews with engineers covering coding and system design rounds.

youtube.com

Video

Pramp

Free peer-to-peer mock coding interviews.

pramp.com

Practice

Codeforces Blog Guide for Beginners

A popular Codeforces post on how to practise and improve as a beginner.

codeforces.com

Article

Errichto's Competitive Programming Guide

Errichto's notes, links and lecture materials for learning CP.

github.com

Repo

Luogu

A huge Chinese online judge with problems from many Olympiads.

luogu.com.cn

Practice

DMOJ

A modern open-source online judge with problems from Canadian contests.

dmoj.ca

Practice

Leetcode Company-wise Questions

LeetCode problems grouped by the companies that ask them.

github.com

Repo

InterviewBit

A structured interview-prep track with timed problems, popular in India.

interviewbit.com

Practice

Coding Ninjas Studio

Practice problems, guided paths and contests aimed at Indian placement season.

naukri.com

Practice

Codewars

Solve community-made kata in many languages and see others' solutions.

codewars.com

Practice

OI Wiki

A comprehensive Chinese wiki on Olympiad and contest algorithms.

oi-wiki.org

Docs

Codeforces Gym

Practise past ICPC regionals and training contests in virtual mode.

codeforces.com

Practice

MIT 6.006 Dynamic Programming Lecture

Erik Demaine's famous intro lecture on dynamic programming.

youtube.com

Video

Dynamic Programming – freeCodeCamp

A five-hour beginner course on memoization and tabulation in JavaScript.

youtube.com

Video

Graph Algorithms – freeCodeCamp

William Fiset's full graph theory course covering BFS, DFS, shortest paths and flows.

youtube.com

Video

Data Structures – freeCodeCamp

An eight-hour beginner course on arrays, lists, trees, heaps and hash tables.

youtube.com

Video

Algorithms and Data Structures Tutorial (freeCodeCamp)

A five-hour Python course on searching, sorting, recursion and complexity.

youtube.com

Video