有谁能给我解释一下...当我们匹配的模式不是以与主字符串相同的字母开头时,kmp算法将会工作。例如:字符串:- abcdbcx模式:- bc如果是,请解释如何。
发布于 2021-07-15 22:48:46
如果字符串的第一个字母与模式的第一个字母不匹配,则移动到字符串的第二个字母,并将其与模式的第一个字母进行比较。当没有初始匹配时,它就像一个常规的字符串搜索。
不同之处在于,当字符串的一个或多个字母与模式的首字母匹配时,就会发现不匹配。在这种情况下,主字符串中的位置比它已经在的位置前进了1,它使用预先构建的表来确定它应该重置到模式中的什么位置。
https://stackoverflow.com/questions/68395862
复制相似问题