algorithm - 逐字母搜索背后的数据结构是什么?

标签 algorithm search

最近我一直在阅读一些关于各种数据结构及其在实践中的使用的资料。我对那些用于搜索的特别感兴趣。例如从 Google 搜索建议,或在 Windows 中搜索。

如果文本是完全键入的,像哈希表这样的东西应该可以在 O(1) 中找到它。这是因为我们假设它们已经在哈希表中。但是,当我们输入每个字母并且它仅根据字母 1、[1-2]、[1-3] 进行搜索时,会发生什么?是不是过程中使用了某种后缀数组或者trie?

最佳答案

我想这个描述“字符串搜索”或“字符串匹配”算法的页面就是您要找的:

https://en.wikipedia.org/wiki/String_searching_algorithm

关于algorithm - 逐字母搜索背后的数据结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40868987/

相关文章:

algorithm - 如何从其 3 位数字组合中找到一个数字?

SVN 存储库搜索

algorithm - 用于堆排序的缓存高效堆

c++ - 搜索算法以查找列表中的 k 个最小值

找到最佳 x y 索引的算法,使每个象限中的点数总和最小化

string - 有一种方法可以生成某种文本的哈希值以进行比较吗?

java - 在数组中搜索特定字符串

algorithm - 具有共线垂直边缘段的单调多边形三角剖分

C++ 在 vector 中搜索元素首次出现的位置

asp.net - 使用 DataTable 数据源搜索 Gridview