Data Structures & Algorithms
Big-O, arrays, hash maps, linked lists, stacks, trees, heaps, graphs, sorting, binary search, recursion and dynamic programming, with a pattern cheat sheet for interviews.
14 lessons · about 1.1 hours
Start the first lesson →- 01Big-O Notation Made Simple Big-O describes how an algorithm's time or memory grows as the input grows. Learn the 7 common complexities with pictures and how to calculate them.
- 02Arrays & Strings The most-used data structure. See how arrays live in memory, why some operations are instant and others slow, and the essential string tricks for interviews.
- 03Hash Maps & Sets The interview superpower. Learn how hashing gives O(1) lookups, how collisions are handled, and the patterns (counting, seen-set, grouping) that solve dozens of problems.
- 04Two Pointers & Sliding Window Two techniques that turn many O(n²) array and string problems into O(n). Learn them with animated-style diagrams and classic interview examples.
- 05Linked Lists A chain of nodes where each node points to the next. Learn how they differ from arrays, and master reversal, fast/slow pointers and cycle detection.
- 06Stacks & Queues Stacks are last-in-first-out, queues are first-in-first-out. Two simple structures behind undo buttons, browser history, task scheduling and many interview problems.
- 07Trees & Binary Search Trees Trees model hierarchies like folders, the DOM and org charts. Learn the vocabulary, the four traversals, and how binary search trees give fast lookups.
- 08Heaps & Priority Queues A heap always gives you the smallest (or largest) item in O(1) and adds or removes items in O(log n). The engine behind "top K" problems, schedulers and Dijkstra.
- 09Graphs: BFS & DFS Graphs model networks like maps, social media and dependencies. Learn how to store a graph and explore it with breadth-first and depth-first search.
- 10Sorting Algorithms From simple bubble sort to merge sort and quick sort. See how each one works, compare their speeds, and learn which one JavaScript's sort() actually uses.
- 11Binary Search Find anything in a sorted list of a billion items in about 30 steps. Learn the classic algorithm, its off-by-one traps, and the powerful "binary search on the answer" trick.
- 12Recursion & Backtracking A function that calls itself to solve smaller copies of a problem. Learn to think recursively, visualise the call stack, and use backtracking to explore all possibilities.
- 13Dynamic Programming DP means solving a big problem by remembering the answers to its smaller overlapping sub-problems. A friendly, step-by-step guide with tables you can picture.
- 14DSA Interview Patterns Cheat Sheet Map any coding-interview problem to the right technique in seconds. Keyword triggers, a decision flowchart, complexity tables and a step-by-step interview routine.