Skip to content
进阶

一句话答案

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"开头的词。