HomeAlgorithms & AICuckoo Filter

🐦 Cuckoo Filter

Explore the cuckoo filter, a compact probabilistic structure that answers set-membership queries almost like a Bloom filter but adds something a Bloom filter can never safely offer: deletion.

Algorithms & AI3DModerate60 FPS
cuckoo-filter-lab ↗ Open standalone

The simulator visualizes how items are hashed into short fingerprints, placed into one of two candidate buckets, and relocated through cascading evictions when a bucket collision occurs, alongside how deletion cleanly removes a single fingerprint without disturbing any other stored item.

🔬 What It Demonstrates

The simulator visualizes how items are hashed into short fingerprints, placed into one of two candidate buckets, and relocated through cascading evictions when a bucket collision occurs, alongside how deletion cleanly removes a single fingerprint without disturbing any other stored item.

🎮 How to Use

Insert items one at a time and watch each one get hashed into a fingerprint, placed into its first candidate bucket, or bounced through an eviction chain into an alternate bucket via the XOR relationship. Delete items to see their fingerprint disappear from its exact slot, and query items to see how lookups check both candidate buckets before reporting present or absent.

💡 Did You Know?

A well-tuned cuckoo filter can often achieve the same false-positive rate as a Bloom filter while using less memory per item, especially at low target false-positive rates, all while additionally supporting safe, targeted deletion that a Bloom filter structurally cannot offer.

⚙ Under the hood

Explore the cuckoo filter, a compact probabilistic structure that answers set-membership queries almost like a Bloom filter but adds something a Bloom filter can never safely offer: deletion.

cuckoo filterbloom filterhashingprobabilistic data structurescuckoo hashingfingerprintset membershipalgorithms

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)