字符串匹配算法之BF(Brute-Force)算法

BF(Brute-Force)算法 

  蛮力搜索,比较简单的一种字符串匹配算法,在处理简单的数据时候就可以用这种算法,完全匹配,就是速度慢啊。

基本思想

  从目标串s 的第一个字符起和模式串t的第一个字符进行比较,若相等,则继续逐个比较后续字符,否则从串s的第二个字符起再重新和串t进行比较。

   依此类推,直至串t 中的每个字符依次和串s的一个连续的字符序列相等,则称模式匹配成功,此时串t的第一个字符在串s 中的位置就是t 在s中的位置,否则模式匹配不成功。

字符串匹配算法之BF(Brute-Force)算法

具体实现

  int BFindex(String S, String T)  

{  

    if (S.size() < 1 ||  T.size() < 1 ) 

        return -1;

 

    int i = 0, j = 0;

    while (i < S.size() && j < T.size())  

    {  

        if (S[i] == T[j])  

        {  

            ++i; ++j;  

        }

        else 

        {  

            i = i- j+ 2;  

            j = 1;  

        }  

    }  

    if(j > T[0]) return i - T[0];  

    return ERROR;  

}         

 

你可能感兴趣的:(字符串)