Data Structures & Algorithms

Data structures and algorithms, each one run step by step in pseudocode.

0 / 44 concepts read

242 min left

Start here

Big-O notation & analysis

Foundations · Measuring · 7 min

Start reading

Read these first

Foundations

0 of 12 read · 79 min left

Measuring

0 of 1 read · 7 min left

  1. Big-O notation & analysis7 min

Linear structures

0 of 5 read · 36 min left

  1. Arrays & strings8 min
  2. Space & amortized analysis7 min
  3. Linked lists7 min
  4. Stacks & queues7 min
  5. Hash tables & maps7 min

Searching & sorting

0 of 6 read · 36 min left

  1. Linear & binary search6 min
  2. Basic sorting6 min
  3. Recursion & backtracking6 min
  4. Divide & conquer5 min
  5. Merge sort & quicksort7 min
  6. Linear-time sorting6 min

Best after the foundations

Patterns, trees and graphs

0 of 32 read · 163 min left

Array patterns

0 of 7 read · 32 min left

  1. Two pointers5 min
  2. Sliding window5 min
  3. Prefix sums4 min
  4. Fast & slow pointers5 min
  5. Monotonic stack & queue5 min
  6. Merge intervals4 min
  7. Binary search on the answer4 min

Trees

0 of 8 read · 44 min left

  1. Binary trees & BSTs6 min
  2. Tree traversals5 min
  3. Heaps & priority queues6 min
  4. Top-K & k-way merge5 min
  5. Tries5 min
  6. Balanced treesDeep dive6 min
  7. Lowest common ancestorDeep dive5 min
  8. Segment & Fenwick treesDeep dive6 min

Paradigms

0 of 3 read · 17 min left

  1. Greedy algorithms5 min
  2. Dynamic programming: basics6 min
  3. Dynamic programming: classic families6 min

Graphs

0 of 8 read · 38 min left

  1. Graphs & representations5 min
  2. BFS & DFS5 min
  3. Grid traversal5 min
  4. Topological sort5 min
  5. Union-find4 min
  6. Dijkstra's algorithm5 min
  7. Bellman-Ford & Floyd-WarshallDeep dive4 min
  8. Minimum spanning treesDeep dive5 min

Techniques

0 of 3 read · 16 min left

  1. Bit manipulation5 min
  2. String algorithms: KMP & rolling hashDeep dive6 min
  3. Math basics: GCD, primes & modular arithmeticDeep dive5 min

Network flow

0 of 3 read · 16 min left

  1. Maximum flowDeep dive6 min
  2. Minimum cutDeep dive5 min
  3. Bipartite matchingDeep dive5 min