|
|
1
6
以…开始 Boyer-Moore 搜索算法。它需要一些预处理(速度很快),搜索效果也很好——特别是在搜索长的子字符串时。 |
|
|
2
1
如果大多数人只是使用基本的、简单的搜索技术(扫描第一个字符上的匹配项,然后测试命中是否成功),我不会感到惊讶。 |
|
|
3
1
格雷普
虽然本身不是文本编辑器,但经常被许多文本编辑器调用。我很好奇你有没有试过grep的源代码?即使在搜索大文件时,它对我来说也总是非常快。 |
|
|
4
0
另一个是散列搜索(我不知道是否有正式名称)。首先,计算模式的散列值,然后创建一个滑动窗口(与模式大小相同),将其移动到文本上,查看散列是否匹配。这里的想法是选择散列,这样您就不必为整个窗口计算散列,只需使用下一个字符更新散列(而旧字符将从散列计算中删除)。当您要搜索多个字符串时,该算法的性能非常好(因为您只需预先计算字符串的哈希值)。 |
|
|
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 1 年前 |
|
|
Alisa Petrova · 在有向图中更改一对顶点以创建循环 1 年前 |
|
|
b39b332d · 使用C++标准库实现高效间隔存储 1 年前 |
|
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 1 年前 |
|
|
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 1 年前 |