Точный поиск подстроки в строке - Алгоритм грубой силы
Автор: Thierry Lecroq
Перевод: Кантор И.
Этот алгоритм заключается в проверке всех позиций текста с 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);
}
|