Поиск подстроки в строке
От: Vladik Россия  
Дата: 23.08.01 06:52
Оценка:
Вроде существует алгоритм боле продвинутый, чем последовательный поиск по строке со сравнением и откатом, если "сравнилось не до конца"...
Как все запущенно...
Re: Поиск подстроки в строке
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.08.01 09:48
Оценка:
Здравствуйте Vladik, вы писали:

V>Вроде существует алгоритм боле продвинутый, чем последовательный поиск по строке со сравнением и откатом, если "сравнилось не до конца"...


Смотри исходники strstr из CRT
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Поиск подстроки в строке
От: Vladik Россия  
Дата: 23.08.01 09:56
Оценка:
VD>Смотри исходники strstr из CRT

По исходникам сложнее разбираться...
Как все запущенно...
Re[3]: Поиск подстроки в строке
От: Vladik Россия  
Дата: 23.08.01 09:59
Оценка:
Здравствуйте Vladik, вы писали:

VD>>Смотри исходники strstr из CRT


V>По исходникам сложнее разбираться...


Тем более, что там реализован именно такой (простейший) алгоритм.
Как все запущенно...
Re: Поиск подстроки в строке
От: ZORK Россия www.zorkaltsev.com
Дата: 24.08.01 12:31
Оценка:
Здравствуйте Vladik, вы писали:

V>Вроде существует алгоритм боле продвинутый, чем последовательный поиск по строке со сравнением и откатом, если "сравнилось не до конца"...


Алгоритм Boyer-Moore вроде всех побеждает. Там идея, что составляется, в которой для каждого символа определяется смещение, а потом оно используется при поиске подстроки, что-бы определить на сколько можно сдвинуться и при этом не пропустить искомую подстроку. http://www-igm.univ-mlv.fr/~lecroq/string/node19.html — тут есть и теория, и код
Думать надо ...головой :)
Re[2]: Поиск подстроки в строке
От: visitant Украина  
Дата: 31.08.01 12:20
Оценка:
Здравствуйте ZORK, вы писали:

ZORK>Здравствуйте Vladik, вы писали:


V>>Вроде существует алгоритм боле продвинутый, чем последовательный поиск по строке со сравнением и откатом, если "сравнилось не до конца"...


Есть же куча умных книг, где целые главы этому посвящены!
Re[3]: Поиск подстроки в строке
От: ZORK Россия www.zorkaltsev.com
Дата: 31.08.01 13:14
Оценка:
Здравствуйте visitant, вы писали:

V>Есть же куча умных книг, где целые главы этому посвящены!


Это не конструктивный ответ — в народе называемый RTFM. Так все таки что-ж такого в "умных книгах" написанно?
Думать надо ...головой :)
Re[4]: Поиск подстроки в строке
От: Snax Россия  
Дата: 01.09.01 04:54
Оценка:
Вот крайне упрощенная схема

заводишь массив на 256 int
прописываешь туда -1 для тех символов, которых нет в искомой подстроке,
и смещение от начала, для тех кто есть.
дальше. смотришь на первый символ строки. если в твоей таблице там -1
идешь к n + strlen(substr) смотришь там.
если не -1 вычитаешь это число и делаешь strcmp, если не совпало,
к вычтенному снова добавляешь strlen(substr) и так далее.
Чем длиньше подстрока тем быстрее.

Павел.
Re[5]: Поиск подстроки в строке
От: visitant Украина  
Дата: 03.09.01 03:56
Оценка:
Я имел в виду алгоритмыРабина-Карпа, Кнута-Мориса-Пратта, Бойера-Мура и .д.
Они описаны, напр, в "Алгоритмы: построение и анализ" Т. Кормен, Ч. Лейзерсон, Р. Ривест
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.