字串查詢 BF演算法

2021-10-25 10:17:33 字數 446 閱讀 2018

/*

字串查詢 bf演算法

*/#include #include int strfind(char *str, char *partner)

else

}if (j == plen)

return pos;

}int main()

字串查詢   最普通的演算法 

串 a 為 "abcadef",而串 b 為 "cad"

最理想的時間複雜度 o(n),n 表示b 的長度,即第一次匹配就成功。

bf 演算法最壞情況的時間複雜度為o((m - n + 1)*n),n 為串 b 的長度,m 為串 a 的長度。這種情況下,兩個串每次匹配,都必須匹配至串 a 的最末尾才能判斷匹配失敗,因此執行了 n*m 次。

效率不算高  後邊會給出優化----kmp

查詢字串之 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 但是效率較低,用在比較短的...

字串匹配演算法 BF

brute force演算法,簡稱bf演算法,是一種簡單樸素的模式匹配演算法,常用語在乙個主串string內查詢乙個子串 pattern的出現位置。核心思想 i遍歷主串string i 每自增一次,內層迴圈用j遍歷子串pattern,同時判斷patter j string i j 若條件成立,j 自...

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

bf brute force 演算法是邏輯最簡單的演算法,也叫樸素演算法 暴力演算法。與kmp演算法的區別就是不對模式串處理。如下 function indexof str,key else if i 0 return 1 return j i 測試能匹配字串 s abcdabcdabde t ab...