Этот алгоритм заключается в проверке всех позиций текста с 0 по n - m на предмет совпадения с началом образца. Если совпадает - смотрим следующую букву и т.д.
Алгоритм грубой силы не нуждается в предварительной обработке и дополнительном пространстве.
Реализация на Си
#define EOS "\0"
void BF(char *x, char *y, int m) { int i;
/* Ищем до конца, вообще говоря можно до позиции n-m */ for(i=0; *y!=EOS; i++, y++) if(memcmp(y,x,m) == 0) OUTPUT(i); }
8 8 8
|