前缀树(Trie):插入、自动补全与优化
1. 前缀树插入操作
插入新单词到前缀树与搜索现有单词类似,以下是具体算法步骤:
1. 建立一个名为 currentNode
的变量,算法开始时,它指向根节点。
2. 遍历搜索字符串的每个字符。
3. 当指向搜索字符串的每个字符时,查看 currentNode
是否有以该字符为键的子节点。
4. 如果有,将 currentNode
更新为该子节点,然后回到步骤 2,继续处理搜索字符串的下一个字符。
5. 如果 currentNode
没有与当前字符匹配的子节点,创建这样一个子节点,并将 currentNode
更新为这个新节点。然后回到步骤 2,继续处理搜索字符串的下一个字符。
6. 插入新单词的最后一个字符后,在最后一个节点添加一个 *
子节点,表示该单词结束。
以下是插入单词 “can” 的示例:
- 设置 :将 currentNode
设置为根节点,同时指向字符串的第一个字符 “c”。
- 步骤 1 :根节点有一个 “c” 子键,将该键的值设为 currentNode
,并指向新单词的下一个字符 “a”。
- 步骤 2 :检查 currentNode
是否有键为 “a” 的子节点,有则将