模式匹配 BF演算法

2021-10-24 14:52:38 字數 492 閱讀 3562

bf演算法就是字串模式匹配的樸素演算法(即蠻力匹配)

過程

設主串s,模式t

從s的第乙個字元和t的第乙個字元開始比較,如果匹配則從s的第二個字元與t的第二個字元開始匹配。

如果某乙個字元匹配失敗,則進行回溯,s移至第二個字元,t歸為第乙個字元,比較s的第二個字元與t的第乙個字元。

重複1,2步驟,直到匹配成功或者超過s的總長度,匹配失敗

**

//匹配成功返回索引,匹配失敗返回-1 

intbf

(const

char s,

const

char t)

else}if

(t[j]

=='\0'

)return j;

else

return-1

;}

模式匹配演算法 BF

bf brute force 演算法是普通的模式匹配演算法。1.其思想就是將目標串s的第乙個字元與模式串t的第乙個字元進行匹配,若相等,則繼續比較s的第二個字元和t的第二個字元 若不相等,則比較s的第二個字元和t的第乙個字元,一次比較下去,直到得出最後的匹配結果。bf演算法是一種蠻力演算法。2.最好...

BF模式匹配演算法改良

子串查詢 bf bf演算法是帶回溯的模式匹配演算法,如果緩衝標記已做的匹配,減少回溯,可以提高時間效率,當然會犧牲空間,實際運用中需要做權衡考慮 主串ms,長度為n 子串ms,長度為n,n n 初始認為ms的 0,n n 與子串是匹配位置,將其加入乙個記錄陣列中,匹配個數為n n 1 將這些位置的字...

BF演算法 串的模式匹配

bf演算法,即暴風 brute force 演算法,是普通的模式匹配演算法,bf演算法的思想就是將目標串s的第乙個字元與模式串t的第乙個字元進行匹配,若相等,則繼續比較s的第二個字元和 t的第二個字元 若不相等,則比較s的第二個字元和t的第乙個字元,依次比較下去,直到得出最後的匹配結果。bf演算法是...