[СУМКИ - КЛАТЧИ - РЕМНИ]

[СУМКИ - КЛАТЧИ - РЕМНИ] В СПб

РАСПРОДАЖА! [БРЭНДОВ.НЕТ]: Магазин брэндовых аксессуаров!

[БРЭНДОВ.НЕТ]

группа зарубежные лотереи вконтакте.COM/Brendofnet

Пример алгоритма по поиску слова

Посмотрим, как выполняются описанные действия на конкретном примере. Для наглядности еще больше упростим задачу и возьмем текст, состоящий всего из N=5 символов. Еще раз отметим, что работа с текстом из N=1000 символов в принципе выполняется точно так же, как и с текстом из N=100 000 000 или из N=5 символов — разница только в количестве повторений одних и тех же действий. Чтобы проиллюстрировать возможные ситуации, возьмем два текста — «кокос» и «осока» — и будем искать вхождение в эти тексты слова «сок». Выполняющиеся в этих случаях последовательности действий показаны на рис. 2.1. Величина i, играющая роль номера первого символа сравниваемого со словом участка текста, в данном примере должна пробегать значения от 1 до N-2, то есть до 3. В случае а ни один из участков текста не совпал со словом «сок». В самом деле, при i-1 участок образуют 1, 2 и 3 буквы текста — «кок», при i=2 участок состоит из 2, 3 и 4 букв текста — «око», и наконец, последнее сравнение при i=3 — 3, 4, и 5 буквы текста образуют «кос». Дальнейшее смещение невозможно, так как при выделении последнего участка достигнута правая граница текста. Итак, в случае а делается вывод о том, что данное слово «сок» в данный текст «кокос» не входит. В случае 6 совпадение участка текста с заданным словом отмечается при i-2, и дальнейшие сравнения уже не выполняются. Для завершения обсуждения задачи необходимо еще определить, каким образом следует сравнивать между собой две группы символов. Поскольку в нашем случае эти группы состоят всего из трех букв, можно предложить следующий план действий - взять первую букву слова и первую букву текущей тройки символов текста. Если они не совпадают, следует закончить сравнение с выводом о несовпадении всей группы. При совпадении первых символов перейдем ко вторым символам слова и текущей тройки. И точно так же при их несовпадении нужно закончить сравнение с выводом о несовпадении всей группы, а при совпадении перейти к рассмотрению последних символов. Сравнением третьего символа слова и третьего символа текущей тройки заканчивается процедура сравнения групп.

 









.