Boyer-Moore Good-suffix-shift 表解释

问题描述

在此表解决方案中

enter image description here

我了解如何在 k=1 时获得偏移,但是 k=2 和向前对我来说没有意义。在http://www.csc.villanova.edu/~mdamian/Past/csc8301fa16/notes/Lec9.pdf

它指出

"d2(k) = 大小为 k 的匹配后缀与其 模式中最右边的出现,前面没有 与后缀相同的字符"

“如果没有出现这种情况,则找出与p字符后缀匹配的长度为p

"如果没有这样的 后缀前缀匹配, d2 (k) = m"

我相信对于 k 的 2-5,它满足条件二,即

"如果没有出现这种情况,就找出长度为p的最长前缀

但是如果是这样的话,比如说 k=5,你有

“wowwow”,后缀是“owwow”

前缀中只有一个字符,即“w” 我不确定解决方案是 3,因为最右边的匹配后缀“wowwow”中的最后一个“w”与最左边的匹配前缀“w”之间的距离是 5。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)