Алгоритм Бойера-Мура. Понимание хорошего примера изменения суффикса из ресурса курса
Хороший пример суффикса из ресурса курса.
SUSSENUSS
0! S = 2
1!SS = 6
2! USS = 8
3! NUSS = 5
8 для остальных из них.
Мой вопрос: почему!SS = 6, а не = 1, как в США после одного шага!SS?
1 ответ
Решение
!SS означает: "SS" - это суффикс, а "xSS" - нет (x!= "U").
- Ваш текст заканчивается на "xSS", а ваш шаблон - на "USS"
После смещения рисунка вправо 1:
- Ваш текст оканчивается на "SSy" (y неизвестно), а ваш шаблон снова на "USS"
Для y нет действительного значения, которое "SSy" могло бы соответствовать "USS"
Если сдвиг вправо 6
- Ваш текст заканчивается на "USSabcde" (ab unknown), а ваш шаблон - на "USSENUSS"
Это может соответствовать, если 'abcde' == 'ENUSS'