Tries
Efficiently store and search strings with prefix trees.
3
Problems
0
Easy
3
Medium
0
Hard
How Tries Works
A Trie (prefix tree) stores strings character by character in a tree structure, where each node represents a character and paths from root to leaves form complete words. This enables O(L) lookup, insertion, and prefix matching where L is the word length — independent of how many words are stored. Each node typically has a children map and a boolean flag marking word endings. Tries excel at prefix-based operations like autocomplete, spell checking, and finding all words with a common prefix.
When to Use Tries
Pattern Recognition
Look for these trigger words in problem statements:
implement trie (prefix tree)
tries
design add and search words data structure
word search ii
Common Mistakes
- Forgetting to mark word endpoints (isEnd flag) leading to false prefix-only matches
- Not handling the empty string case
- Using arrays of size 26 when the character set might include numbers or special chars
- Memory overhead — tries can use much more memory than hash sets for the same data
When NOT to Use Tries
- When you only need exact string matching (a hash set is simpler and uses less memory)
- When the strings are very long and few (hash map is more space-efficient)
- When the character set is very large (each node would need too many children slots)
Practice Problems
Master Tries
Build pattern recognition with interactive MCQs. Understand why to use Tries, not just how.
Download LeetEye Free