5
請幫我理解Boyer-Moore字符串搜索算法的"Good Suffix Shift"-Table。瞭解Boyer-Moore字符串搜索算法的「Good Suffix Shift」 - 表
i==3
發生了什麼?
模式中沒有子字符串「_MAN」。所以移位值應該是8(與i==1
時相同)。
爲什麼是6
?
請幫我理解Boyer-Moore字符串搜索算法的"Good Suffix Shift"-Table。瞭解Boyer-Moore字符串搜索算法的「Good Suffix Shift」 - 表
i==3
發生了什麼?
模式中沒有子字符串「_MAN」。所以移位值應該是8(與i==1
時相同)。
爲什麼是6
?
沒有串子「_man」,但字符串確實與「AN」開頭,所以如果你用6移過,你可以得到符合如下
_ M A N _ _ _ _ _ _
_ _ A N P A N M A N
所以計算變得模式遞歸是不是?這是在一個子串內搜索一個子串。 – anonymous
這就是算法的預處理部分:因爲字符串以相同的兩個字母開始和結束,如果您遇到不匹配的情況,則可以移動6個字符並可能有另一個匹配。 – murgatroid99