Boyer-Moore算法。从课程资源中理解良好的后缀转换示例

时间:2015-12-13 15:43:48

标签: algorithm string-matching boyer-moore

课程资源的好后缀示例。

SUSSENUSS

0!S = 2

1!SS = 6

2!USS = 8

3!NUSS = 5

其他人<8>。

我的问题是: 为什么!SS = 6而不是= 1,因为美国在一步之后匹配!SS?

1 个答案:

答案 0 :(得分:0)

!SS意味着:&#39; SS&#39;是一个后缀,&#39; xSS&#39;不是(x!=&#39; U&#39;)。

  • 您的文字以&#39; xSS&#39;结尾。和你的模式&#39; USS&#39;

将图案右移1:

  • 您的文字以&#39; SSy&#39;结尾。 (y未知)和你的模式再次使用&#39; USS&#39;

没有有效的值,因为SS&#39; SSy&#39;可以匹配USS&#39;

如果向右移6

  • 您的文字以&#39; USSabcde&#39;结尾。 (a-b未知)和您使用&#39; USSENUSS&#39;
  • 的模式

如果&#39; abcde&#39; ==&#39; ENUSS&#39;