46766 (607931), страница 3
Текст из файла (страница 3)
6) Кнут, Д. Искусство программирования на ЭВМ [Текст]: Том 3. – М:. Мир, 1978. – 356 с.
7). Кормен, Т. Алгоритмы: построение и анализ [Текст]/ Т. Кормен, Ч. Лейзерсон, Р. Ривест - М.: МЦНМО, 2002. М.: МЦНМО, 2002.
8). Успенский В. Теория алгоритмов: основные открытия и приложения [Текст]. – М.: Наука, 1987. – 288 с.
9). Шень, А. Программирование: теоремы и задачи [Текст]. – М.: Московский центр непрерывного математического образования, 1995.
Электронные источники.
1) http://www.ipkro.isu.ru/informat/methods/findsort/
2) http://www.delphikingdom.com/asp/viewitem.asp?catalogid=65
3) http://revolution.allbest.ru/programming/00013926_0.html
4) http://ric.uni-altai.ru/fundamental/pascal1/lab15/l15-teor.htm
5) http://www.rsdn.ru/article/alg/textsearch.xml
Приложение 1
Реализация алгоритма последовательного поиска
Приложение 2
Реализация алгоритма Рабина
Приложение 3
Алгоритм Кнута-Морриса-Пратта
Нахождение наибольшего искомого префикса.
Приложение 4
Реализация алгоритма Кнута-Морриса-Пратта
Приложение 5
Алгоритм Бойера-Мура
Реализация процедуры, вычисляющая таблицу смещений для образца p.
Приложение 6
Алгоритм Бойера-Мура
Функция, осуществляющая поиск.
Приложение 7
Реализация программного кода
d2:=length(t);
for i:= d1+p to d2 do
begin
textcolor(15);
write(t[i]);
end;
readln;
x:=x+1;
text[x]:=copy(t,1,p+d1-1);
delete(t,1,p+d1-1);
end;
until p=0;
readln;
end.
Приложение 8
Фрагмент кода тестируемой программы
Приложение 9
Общие результаты с анализов рассмотренных алгоритмов
Таблица 2
| Примечания | Алгоритмы, основанные на алгоритме последовательного поиска | Малые трудозатраты на программу, малая эффективность | Алгоритм Кнута-Морриса-Пратта | Универсальный алгоритм, если неизвестна длина образца | Алгоритм Бойера-Мура | Алгоритмы этой группы наиболее эффективны в обычных ситуациях. Быстродействие повышается при увеличении образца или алфавита. | ||||
| Время работы (мс) при длине строки ≤250 | 234 | 93 | 31 | 32 | ||||||
| Затраты памяти | нет | нет | O(m) | O(m+s) | ||||||
| Худшее время поиска | O((m-n+1)*n+1) | O((m-n+1)*n+1) | O(n+m) | O(n*m) | ||||||
| Среднее время поиска | O((m-n+1)*n+1)/2 | O(n+m) | O(n+m) | O(n+m) | ||||||
| Время на пред. обработку | нет | нет | O(m) | O(m+s) | ||||||
| Алгоритм | Алгоритм прямого поиска | Алгоритм Рабина | КМП | БМ | ||||||
33
33
33
33
33
33
33
33
33













