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

BF(Brute-Force)算法 

  蠻力搜索,比較簡單的一種字符串匹配算法,在處理簡單的數據時候就能夠用這種算法,徹底匹配,就是速度慢啊。算法

基本思想

  從目標串s 的第一個字符起和模式串t的第一個字符進行比較,若相等,則繼續逐個比較後續字符,不然從串s的第二個字符起再從新和串t進行比較。spa

   依此類推,直至串t 中的每一個字符依次和串s的一個連續的字符序列相等,則稱模式匹配成功,此時串t的第一個字符在串s 中的位置就是t 在s中的位置,不然模式匹配不成功。code

具體實現

  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;  
}         
相關文章
相關標籤/搜索