Data Structures Deep
Hand-roll the data structures behind your standard library — bloom filters, LRU caches, heaps, tries, skip lists, diff algorithms.
Course sequence
- 01
Build a Bloom Filter
Not startedBuild the probabilistic set data structure used in databases (LevelDB, BigTable), web crawlers, Bitcoin SPV, and CDN cache invalidation. Implement basic, counting, and scalable variants. Master the math: bits per item, hash count, false positive rate.
beginner11 lessons~3h - 02
Build an LRU Cache
Not startedBuild the canonical O(1) LRU cache with a hash map + doubly-linked list. Then add TTL, sharding, metrics, and concurrency. By the end you'll understand caches in the kernel page cache, browser disk cache, Memcached, and Redis.
beginner8 lessons~2h - 03
Build a Priority Queue / Heap
Not startedBuild a binary heap from scratch: the array layout, sift-up/sift-down, push/pop/peek, O(n) heapify, indexed heap with decrease-key, top-K streaming, median finding, and merge K sorted lists. The data structure behind Dijkstra, Huffman, and most schedulers.
beginner8 lessons~2h - 04
Build a Trie / Autocomplete
Not startedBuild a trie (prefix tree) with insert, search, prefix queries, deletion, radix compression, top-K autocomplete, and fuzzy search. Used in IDE autocomplete, browser address bars, IP routing, and spell checkers.
beginner8 lessons~2h - 05
Build a Skip List
Not startedBuild the probabilistic balanced tree alternative used by Redis sorted sets, LevelDB memtables, and Java's ConcurrentSkipListMap. Implement search, insert, delete, range queries, and concurrent variants.
intermediate8 lessons~2h - 06
Build a Diff Tool
Not startedBuild the algorithm behind git diff: edit distance, longest common subsequence, edit scripts, unified diff format with context hunks, patience diff for code-friendly output, and patch application. The foundation of every version control system and code review tool.
intermediate10 lessons~3h
Create a free account to track your progress across this path.