外观
一句话答案
Trie(前缀树)每条边代表一个字符,从根到节点的路径表示前缀,操作 O(m),适合前缀搜索和自动补全。
核心要点
结构: children[26] 数组 + isEnd 标记
应用: 搜索自动补全 / 拼写检查 / IP最长前缀匹配
追问与易错
追问方向:
- Trie 树的空间优化?
- Trie 和 HashMap 前缀匹配的区别?
- 压缩 Trie 了解吗?
易错点:
- ❌ Trie 树空间效率高——字符集大时空间爆炸
- ❌ HashMap 也能前缀匹配——HashMap 不支持前缀查询
💡 记忆锚点
Trie像一棵字母树:从根出发,每条树枝是一个字符,走到某个节点就拼出一个前缀。搜索"apple"就是沿a→p→p→l→e走五步,O(m)与字符串长度相关,和存了多少词无关。搜索框自动补全的背后就是它:输入"app"后,从该节点往下遍历就能列出所有以"app"开头的词。