1

我正在研究这个算法,但模式和文本不匹配。

文字为:AADBCCAAA 图案为:CCAAA

我已经创建了坏符号表和好后缀表。

坏符号:

!AC(! 表示不在模式中的字母)
5 1 3

好后缀:
k d2
1 2
2 6
3 6
4 6
5 6

至于我的搜索:
AADBCCAAA
CCAAA 既然没有匹配,shift 3 因为C导致不匹配

这会将模式中最右边的 A 与文本中倒数第二个 A 对齐。这表示

d1 = 3-2 = 1 和 d2 = 6。两者的最大值为 6,因此移位 6。

对于 Boyer-Moore,这是否意味着由于您不能移动 6,它只会将模式与文本末尾进行比较并找到匹配项,还是我做错了什么?

4

0 回答 0