用js實現字串查詢功能 BF演算法

2022-07-02 09:09:07 字數 533 閱讀 9776

bf(brute force)演算法是邏輯最簡單的演算法,也叫樸素演算法、暴力演算法。與kmp演算法的區別就是不對模式串處理。

**如下

function indexof(str, key)else 

} if(i === 0)return -1;

return j - i;

}

測試能匹配字串

s = "abcdabcdabde";

t = "abcdabd";

indexof(s, t)

測試不能匹配字串

s = "abcdabcdabde";

t = "abcdabdx";

indexof(s, t)

**中為了簡潔,沒有判斷當str剩餘的字元少於key應該終止迴圈,因為這樣會用到length。

**執行過程是這樣的

str[j]和key[i]對比,如果一樣那麼i和j都加1,否則j恢復到匹配時的下乙個,i恢復到0。

字串查詢 BF演算法

字串查詢 bf演算法 include include int strfind char str,char partner else if j plen return pos int main 字串查詢 最普通的演算法 串 a 為 abcadef 而串 b 為 cad 最理想的時間複雜度 o n n ...

字串 Rabin Karp指紋字串查詢演算法

暴力字串匹配 brute force string matching 是子串匹配演算法中最基本的一種,它確實有自己的優點,比如它並不需要對文字 text 或模式串 pattern 進行預處理。然而它最大的問題就是執行速度太慢,所以在很多場合下暴力字串匹配演算法並不是那麼有用。我們需要一些更快的方法來...

查詢字串之 BF演算法

bf 演算法最簡單的查詢查詢字串演算法 匹配串s同模式串p,逐個位元組比較,失敗後向後移動乙個位元組繼續比較。直至成功或者比較結束。形如 a a a a 比較1 b b b b 比較2 b b b b 比較3 b b b b 這種方式簡單粗暴如其名 brute force 但是效率較低,用在比較短的...