The map
- Not started
- In progress
- Done
- Builds on
- 01Cost and memoryBig-O, arrays, amortised growth0/2
- 02SequencesLists, stacks, queues, recursion0/3
- 03Finding thingsHashing, halving, trees0/3
- 04Putting things in orderHeaps and real-world sorts0/2
- 05Searching and reusing workGraphs and dynamic programming0/2
- 06Structures in productionTries and Bloom filters0/1
- 07Next: system designSame ideas, at service scale
- Bloom filtersLibrary ↗The Bloom filter topic, at system scale: skipping disk reads and remote lookups for keys that can't be there.
- Consistent hashingLibrary ↗hash(key) % N works for one table, but changing N moves almost every key. Consistent hashing is how distributed caches and databases avoid that.
- Geospatial indexLibrary ↗Sorted trees answer range queries on one key. A geospatial index files points by map cell, so "what is near me?" is a few lookups instead of a scan.
- Cache-asideLibrary ↗Memoisation for a whole service: look in the cache, compute (or query) on a miss, and store the answer.
Examples are plain JavaScript you can run on each page, and three topics step through their algorithm line by line: matching brackets with a stack, pushing into a heap, and the queue behind breadth-first search. Where a language's standard library makes a specific choice (Python's dict, Java's HashMap, V8's sort), the topic names it and links the documentation.