Data Structures & Algorithms learning roadmap.
Learn the patterns behind interview problems, then implement them in JavaScript, Java, C#/.NET, or Python. Work through 10 modules, then use the connected questions to check what you can explain without the notes.
- STEP 1
Foundations & core patterns
- How to prepare for DSA interviews · 2 min
- Big O notation · 2 min
- Arrays and strings · 2 min
- Hashing and maps · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
- STEP 2
Linear data structures
- Linked list · 2 min
- Stack and queue · 2 min
- Recursion and backtracking · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
- STEP 3
Trees, heaps & graphs
- Trees and binary search trees · 2 min
- Heap and priority queue · 2 min
- Graphs · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
- STEP 4
Algorithms & problem-solving patterns
- Dynamic programming · 2 min
- Greedy algorithms · 2 min
- Sorting and searching · 2 min
- Bit manipulation · 2 min
- Sliding window and two pointers · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
- STEP 5
Advanced patterns & priorities
- Advanced patterns · 2 min
- Common interview topics by priority · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
- STEP 6
Interview practice & revision
- 30 interview questions to practice · 2 min
- Final interview advice · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
- STEP 7
JavaScript implementations
- JavaScript DSA basics · 2 min
- Arrays and strings in JavaScript · 2 min
- Hashing and maps in JavaScript · 2 min
- Linked list in JavaScript · 2 min
- Stack and queue in JavaScript · 2 min
- Recursion and backtracking in JavaScript · 2 min
- Trees and BST in JavaScript · 2 min
- Heap and priority queue in JavaScript · 2 min
- Graphs in JavaScript · 2 min
- Dynamic programming in JavaScript · 2 min
- Greedy and binary search in JavaScript · 2 min
- Sliding window and two pointers in JavaScript · 2 min
- Important JavaScript DSA interview topics · 2 min
- JavaScript interview-friendly practice list · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
- STEP 8
Java implementations
- Java DSA basics · 2 min
- Arrays and strings in Java · 2 min
- Hashing and maps in Java · 2 min
- Linked list in Java · 2 min
- Stack and queue in Java · 2 min
- Recursion and backtracking in Java · 2 min
- Trees and BST in Java · 2 min
- Heaps and priority queue in Java · 2 min
- Graphs in Java · 2 min
- Dynamic programming in Java · 2 min
- Sorting and searching in Java · 2 min
- Bit manipulation in Java · 2 min
- Important interview questions for Java · 2 min
- Best Java DSA interview practice list · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
- STEP 9
C# / .NET implementations
- .NET DSA fundamentals · 2 min
- Arrays and strings in C# · 2 min
- Hashing in .NET · 2 min
- Linked list in C# · 2 min
- Stack and queue in .NET · 2 min
- Recursion and backtracking in C# · 2 min
- Trees and BST in C# · 2 min
- Heap and priority queue in .NET · 2 min
- Graphs in C# · 2 min
- Dynamic programming in C# · 2 min
- Sorting and searching in C# · 2 min
- Sliding window and two pointers in C# · 2 min
- Important .NET interview questions · 2 min
- Best .NET DSA practice list · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
- STEP 10
Python implementations
- Python DSA basics · 2 min
- Arrays and strings in Python · 2 min
- Hashing and maps in Python · 2 min
- Linked list in Python · 2 min
- Stack and queue in Python · 2 min
- Recursion and backtracking in Python · 2 min
- Trees and BST in Python · 2 min
- Heap and priority queue in Python · 2 min
- Graphs in Python · 2 min
- Dynamic programming in Python · 2 min
- Binary search and greedy in Python · 2 min
- Sliding window and two pointers in Python · 2 min
- Important Python interview topics · 2 min
- Best Python DSA practice list · 2 min
Checkpoint: explain the ideas above with an example and a limitation before continuing.
Check your understanding
After the lessons, rehearse the 75 connected questions. Revisit the lesson when you cannot yet explain why the answer works.
Practice Data Structures & Algorithms Review the interview guide