Reference · 17 terms

Glossary

Every short form used across the series. Inside a lesson, hover or tap any dotted term to see the same entry in place.

Foundations

birthday paradoxBirthday paradox
Collisions appear sooner than you expect: 23 people give about a 50% chance of a shared birthday. It explains hash collisions.Lesson 5 →
cache lineCache line
The small block of memory (often 64 bytes) that the CPU loads at once. Reading nearby data is cheap.Lesson 1 →
code pointCode point
The number Unicode gives to a character. UTF-8 and UTF-16 are ways to store code points as bytes.Lesson 3 →
endiannessEndianness
The order in which a number's bytes are stored in memory: most significant byte first (big-endian) or last (little-endian).Lesson 4 →
grapheme clusterGrapheme cluster
What a person sees as one character. It can be several code points, like an emoji with a skin tone.Lesson 3 →
heapHeap
The memory area for objects that live longer than one function call. A garbage collector frees what is no longer used.Lesson 0 →
IEEE 754IEEE 754 floating point
The standard way computers store non-whole numbers as sign, exponent and fraction. It cannot store 0.1 exactly.Lesson 2 →
JITJIT compilation
Compiling hot code to machine code while the program runs.Lesson 0 →
KMPKMP algorithm
String search that uses a failure table to avoid re-checking characters, in linear time.Lesson 7 →
localityLocality
Programs run faster when they use data close in memory (spatial) or reuse recent data (temporal).Lesson 1 →
machine epsilonMachine epsilon
The gap between 1 and the next number a double can represent.Lesson 2 →
NP-completeNP-complete
A class of problems where a solution is easy to check but no fast way to find one is known.Lesson 6 →
reservoir samplingReservoir sampling
Pick k random items from a stream of unknown length using only k slots of memory.Lesson 5 →
rolling hashRolling hash (Rabin-Karp)
A hash of a sliding window that can be updated in constant time as the window moves.Lesson 7 →
stackCall stack
The memory area that holds one frame per active function call. Too many nested calls cause a stack overflow.Lesson 0 →
two's complementTwo's complement
The usual way to store negative integers in binary.Lesson 4 →
UTF-8UTF-8
A way to store Unicode using one to four bytes per code point. ASCII text is the same in UTF-8.Lesson 3 →