區別:
“KMP算法”:在匹配過程稱,若發生不匹配的情況,如果next[j]>=0,則目標串的指針i不變,將模式串的指針j移動到next[j]的位置繼續進行匹配;若next[j]=-1,則將i右移1位,並將j置0,繼續進行比較。
“BF算法”是普通的模式匹配算法,BF算法的思想就是將目標串S的第壹個字符與模式串P的第壹個字符進行匹配,若相等,則繼續比較S的第二個字符和P的第二個字符;若不相等,則比較S的第二個字符和P的第壹個字符,依次比較下去,直到得出最後的匹配結果。
“KR算法”在每次比較時,用HASH算法計算文本串和模式串的HASH映射,通過比較映射值的大小來比較字符串是否匹配。但是考慮到HASH沖突,所以在映射值相同的時候,還需要近壹步比較字符串是否相同。但是在每次比較時,需要計算HASH值,所以選擇合適的HASH算法很重要。
略知壹二!