對于暴力搜尋法,當搜尋詞對應的字元與字元串中的字元不比對時。将搜尋詞整個後移一位,再從頭逐個比較。這樣做雖然可行,但是效率很差,因為你要把”搜尋位置”移到已經比較過的位置,重比一遍。
應用kmp算法之後,則有:
移動位數=已比對的字元數−對應的部分比對值
“部分比對值”就是”字首”和”字尾”的最長的共有元素的長度。
kmp算法實作代碼如下:
對于暴力搜尋法,當搜尋詞對應的字元與字元串中的字元不比對時。将搜尋詞整個後移一位,再從頭逐個比較。這樣做雖然可行,但是效率很差,因為你要把”搜尋位置”移到已經比較過的位置,重比一遍。
應用kmp算法之後,則有:
移動位數=已比對的字元數−對應的部分比對值
“部分比對值”就是”字首”和”字尾”的最長的共有元素的長度。
kmp算法實作代碼如下: