文件名称:fast_strstr:对 stdlib 的 strstr() 子字符串搜索函数的快速替换
文件大小:62KB
文件格式:ZIP
更新时间:2024-06-26 03:01:08
C
快速 strstr() 对 stdlib 的strstr()子字符串搜索函数的快速替换。 在搜索相对较小的子字符串(例如单词fast_strstr()比大多数子字符串搜索算法要快得多。 我们建议任何用户在他们的数据上对算法进行基准测试,因为它使用与strstr()相同的接口,然后再丢弃其他算法。 它的最坏情况复杂度( O(n × m)其中n是字符串的长度, m是搜索子字符串的长度)与朴素的蛮力算法相同,但它主要以线性复杂度( O(n) ) 在大多数字符串上。 算法 与其他高效的子字符串搜索算法不同,它不会尝试跳过字符串的字符,而是读取字符串的每个字符。 但是,为每个角色完成的工作量要小得多。 因此,当搜索的子字符串具有少量字符时,该算法会更快,因为其他算法无法跳过大量字符。 它首先计算子字符串的字符值的总和。 然后它通过将读取窗口移动到子字符串的大小来读取字符串。 它知道这个窗
【文件预览】:
fast_strstr-master
----benchmark()
--------benchmark.cabal(931B)
--------algorithms()
--------de_bello_gallico.txt(144KB)
--------Benchmark.hsc(2KB)
----fast_strstr.c(4KB)
----fast_strstr.h(114B)
----README.md(6KB)