📜  DAA天真字符串匹配算法

📅  最后修改于: 2020-12-11 01:42:01             🧑  作者: Mango

幼稚的字符串匹配算法

幼稚的方法测试模式P [1 ……. m]相对于文本T [1 …… n]的所有可能位置。我们依次对每个偏移s尝试偏移s = 0,1 ……. nm。比较T [s + 1 ……. s + m]与P [1 …… m]。

朴素算法使用一个循环来查找所有有效移位,该循环检查n-m的每一个的条件P [1..m] = T [s + 1 …. s + m] +1可能的s值。

分析:这个从3到5的for循环执行nm + 1(最后至少需要m个字符)时间,并且在迭代中我们进行m个比较。因此,总复杂度为O(n-m + 1)。

例:

Suppose T = 1011101110
        P = 111
       Find all the Valid Shift

解: