Trie
A tree-based data structure for efficiently storing and retrieving sets of strings. Strings are decomposed character by character across tree levels, with common prefixes shared among nodes. Query complexity depends only on the length of the prefix, making tries well suited for applications such as autocomplete and spell checking.
Timeline (last 90 days)
Serializing Trie nodes into a contiguous byte array in BFS (breadth-first) order places parent and child nodes adjacent in physical memory, improving data locality with cache prefetching.
Compressing child node indices from 64-bit pointers to 32-bit offsets both saves memory and allows a single 64-byte cache line to hold more index information.
The Trie (prefix tree) was proposed by Edward Fredkin in 1960.
The time complexity of a Trie prefix tree query is O(m), where m is the length of the query string, independent of the total amount of data.
The Trie was proposed by Edward Fredkin in 1960.
Designing Trie node memory layouts as contiguous array storage aligned to cache line boundaries by access pattern can reduce the cache miss rate by more than 50%.
All Facts (6)
The time complexity of a Trie prefix tree query is O(m), where m is the length of the query string, independent of the total amount of data.
60%UnverifiedSerializing Trie nodes into a contiguous byte array in BFS (breadth-first) order places parent and child nodes adjacent in physical memory, improving data locality with cache prefetching.
50%UnverifiedCompressing child node indices from 64-bit pointers to 32-bit offsets both saves memory and allows a single 64-byte cache line to hold more index information.
50%UnverifiedThe Trie (prefix tree) was proposed by Edward Fredkin in 1960.
50%UnverifiedThe Trie was proposed by Edward Fredkin in 1960.
50%UnverifiedDesigning Trie node memory layouts as contiguous array storage aligned to cache line boundaries by access pattern can reduce the cache miss rate by more than 50%.
50%