22 公文字典树(第2/2页)

trie树的搜索过程类似于二叉搜索树的搜索过程。算法从trie树的顶部开始向下进行。在每个节点,决定接下来应该选取哪个分支就需要看目标字符串的下一个字母是什么。例如,需要搜索ZEN这个字符串,搜索路径为:从Z开始,接着选择E这个分支,最后选择N这个分支。

如果找不到这样的节点,就可以确定我们所需要的单词(字符串)不在树中。所以,如果我们在这棵树上搜索ZANY,我们会发现ZA之后便无路可走。

令人惊讶的是,警务中常常用trie树来编制犯罪嫌疑犯名单。举报者常常拒绝提供一个完整的名字,只会提供名字的前几个字母。此时,我们就可以使用trie树来对名字的前缀进行搜索,便可以得到与该前缀相匹配的所有人的名字。依据字母的数量和特殊性,这些信息足以大幅减少搜索范围。