参考
- 官方:实现 Trie (前缀树)。应用包括单词自动补全、拼写检查、 IP 路由 (最长前缀匹配)、T9 (九宫格) 打字预测、单词游戏。
- Trie Tree 的实现 (适合初学者)。理论讲的不错。
- https://leetcode-cn.com/problems/implement-trie-prefix-tree/solution/javashi-xian-qian-zhui-shu-zi-dian-shu-by-zjydream/。代码写的好。将String先转为char[],对字符数组遍历会更高效。
比较
项目 | 前缀树 | 哈希表 |
---|---|---|
存储空间 | 相同前缀的字符串,在相同子树上。 | 每个字符串单纯存储。相同前缀的键值相互独立。 |
查询效率 | 查询前缀的效率O(M), M为键长。 | 查询前缀的效率O(N), N为键的总数。在208. 实现 Trie (前缀树)中,耗时(哈希表)=7*耗时(前缀树)。 |