|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.04.2009, 18:24 | #1 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
Алгоритм поиска текста Рабина на Delphi 7 выходит ошибка
Здравствуйте! В книге нашел метод Рабина, но он приведен для Turbo Pascal...
Код:
Код:
Код:
|
30.04.2009, 19:49 | #2 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
А где находятся подпрограммы Hash и NextHash?
|
30.04.2009, 20:00 | #3 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
Jeni
1.2.2. Алгоритм Рабина. Алгоритм Рабина представляет собой модификацию линейного алгоритма; он основан на весьма простой идее, которую изложим, следуя книге [13 ,172-173]. «Представим себе, что в слове A, длина которого равна m, мы ищем образец X длины n. Вырежем "окошечко" размером n и будем двигать его по входному слову. Нас интересует, не совпадает ли слово в "окошечке" с заданным образцом. Сравнивать по буквам долго. Вместо этого фиксируем некоторую числовую функцию на словах длины n, тогда задача сведется к сравнению чисел, что, несомненно, быстрее. Если значения этой функции на слове в "окошечке" и на образце различны, то совпадения нет. Только если значения одинаковы, необходимо проверять последовательно совпадение по буквам.» (Листинг 2) Код:
Этот алгоритм выполняет линейный проход по строке (n шагов) и линейный проход по всему тексту (m шагов), стало быть, общее время работы есть O(n+m). При этом мы ... Это все что есть. Что за Hash :'( |
30.04.2009, 20:45 | #4 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
а в чем прикол? можно же просто заюзать старый-добрый pos()
или нужно реализовать это вот таким извратом? |
30.04.2009, 20:50 | #5 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
soleil@mmc
Это требование Института :D Вот еще немножко инфы к ознакомлению, но нового ничего я так и не нашел. http://ru.wikipedia.org/wiki/Алгоритм_Рабина_—_Карпа |
30.04.2009, 21:08 | #6 | |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
Мне совершенно всё-равно что это за алгоритм и как он описывается математически. Я хотел сказать, что в твоем коде присутствует вызов подпрограмм Hash и NextHash. Т.к. самих этих подпрограмм нет, то естественно что
Цитата:
|
|
30.04.2009, 21:16 | #7 | ||
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
странно:
Цитата:
Код:
и еще интересно - а процесс вычисления хешей не дольше будет чем получение подстроки?! З.Ы.: собсна про хеш-функу там есть описание (лучше смотри оригинал на вики, а то тут степень поплыла): Цитата:
Последний раз редактировалось soleil@mmc; 30.04.2009 в 21:27. |
||
30.04.2009, 21:17 | #8 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
А ммм допустим самому сделать. Что посоветуете почитать по этому поводу ?
|
30.04.2009, 21:19 | #9 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
PS: перерыл пару тонн учебников по турбо паскалю. Может плохо рыл конечно но там вот этого хеша я не нашел. Значит вышепредоставленный код скорее всего не работоспособен. т.е. идею типа дали, а дальше жувайте еще пару тонн учебников о всяких хешированиях :D...
Чуеться мне я встрял :-o |
30.04.2009, 21:25 | #10 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
Да не будет в учебниках описания этих функций! По крайней мере именно таких и в том виде, какие тебе нужны. А то другие начнут возмущаться, а почему это нет в учебниках функций по расчету движения циклонов или предельных параметров устойчивости самолетов.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Волновой алгоритм поиска | Merkator | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 12.02.2009 16:15 |
Алгоритм поиска значений в памяти. | Ivan_32 | Win Api | 2 | 07.11.2008 19:59 |
Алгоритм поиска... | Johnson | Общие вопросы Delphi | 1 | 26.10.2008 08:35 |
HELP ME В Delphi выходит ошибка | Delfyak | О форуме и сайтах клуба | 2 | 28.05.2008 18:35 |