我开始阅读有关 Trie 的信息。我还从这里的朋友那里得到了参考:Trie 教程
我不清楚以下几点:
似乎继续使用 Trie 假设所有将成为搜索空间并用于构建 Trie 的输入字符串都以不同的单词边界分隔。
例如,我见过的所有示例教程都使用输入,例如:
S={ball, bid, byte, car, cat, mac, map etc...}
然后我们构建特里树S
并进行搜索(非常快)
我的问题是:我们最终是如何S
开始的?
我的意思是在开始阅读尝试之前,我想象这S
将是一个任意长的文本,例如Shakespeare
一段。
然后使用 Trie,我们可以非常快速地找到东西。
但似乎情况并非如此。
这里的假设是输入段落(Shakespeare
例如)首先被预处理提取所有单词以获得S
?
所以如果一个人想要搜索模式(就像你在谷歌上搜索并看到所有页面在你的搜索查询中也有空格一样),那么 Trie 不合适吗?
我们什么时候可以知道 Trie 是否是我们可以实际使用的数据结构?