Skip to content

Probabilistic Data Structures

Accepting bounded error probability enables dramatic space reduction - trading certainty for efficiency when approximate answers suffice.

Tension Addressed

Memory Usage vs. Time Performance

Recognizable As

Bloom filters; count-min sketch; HyperLogLog; skip lists; any "probably in set" or "approximately N distinct elements" pattern

Canonical Sources

Bloom, "Space/Time Trade-offs in Hash Coding with Allowable Errors" (1970); Flajolet & Martin, "Probabilistic Counting Algorithms" (1985)

Transfers To

Caching (negative cache), Distributed Systems (membership gossip), Analytics (cardinality estimation), Networking (packet deduplication)

The key insight is recognizing when certainty is unnecessary. Bloom filters accept false positives (never false negatives); HyperLogLog accepts estimation error. Both dramatically reduce space when the application tolerates bounded uncertainty.