The simulator visualizes a Judy-style radix trie as keys are inserted, showing each node's current representation, linear list, bitmap, or full array, and how nodes automatically convert between these forms as their child count crosses density thresholds, alongside a running comparison of Judy's estimated memory footprint versus a naive fixed-array trie and a hash table storing the same keys.
Insert integer keys one at a time or in bulk to watch the trie grow level by level, and click on any node to see its current representation and byte-value contents highlighted alongside the neighboring node types it could convert to. Toggle range-query mode to select two bounds and watch the simulator highlight exactly which nodes and leaves are visited to enumerate the ordered keys in that range, then compare that against the equivalent operation on the hash table panel to see why hash tables cannot perform it directly.
Key insertion field with single and bulk-insert modes, per-node representation inspector with click-to-expand detail, range-query selector with two bounds and a highlighted traversal path, and a live memory-usage comparison panel plotting Judy's footprint against a naive array trie and a hash table as key count grows.
Judy arrays are named after Doug Baskins's daughter, and despite being over two decades old, the design's ideas live on today, since modern datastore and search-engine internals, as well as some standard library associative container implementations, use closely related adaptive radix trie techniques for exactly the memory and cache benefits explored in this lab.
The simulator visualizes a Judy-style radix trie as keys are inserted, showing each node's current representation, linear list, bitmap, or full array, and how nodes automatically convert between these forms as their child count crosses density thresholds, alongside a running comparison of Judy's estimated memory footprint versus a naive fixed-array trie and a hash table storing the same keys.
The simulator visualizes a Judy-style radix trie as keys are inserted, showing each node's current representation, linear list, bitmap, or full array, and how nodes automatically convert between these forms as their child count crosses density thresholds, alongside a running comparison of Judy's estimated memory footprint versus a naive fixed-array trie and a hash table storing the same keys.
Insert integer keys one at a time or in bulk to watch the trie grow level by level, and click on any node to see its current representation and byte-value contents highlighted alongside the neighboring node types it could convert to. Toggle range-query mode to select two bounds and watch the simulator highlight exactly which nodes and leaves are visited to enumerate the ordered keys in that range, then compare that against the equivalent operation on the hash table panel to see why hash tables cannot perform it directly.
Judy arrays are named after Doug Baskins's daughter, and despite being over two decades old, the design's ideas live on today, since modern datastore and search-engine internals, as well as some standard library associative container implementations, use closely related adaptive radix trie techniques for exactly the memory and cache benefits explored in this lab.