· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.A&O —› алгоритмы поиска совпадений в строке

Посл.отвђт Сообщенiе


Дата: Авг 17, 2004 12:42:50

Беда такая, необходимо подробное описание алгоритмов поиска совпадений в строке. Посмотрел у Кнута, но у него описываются алгоритмы единичного поиска, в то время как мне надо оптимизировать поиск многих альтернатив. Сейчас смотрю, что есть у Ахо и Хопкрофта, но возможно кто-то уже сталкивался и знает необходимые документы. Здесь на форуме видел пару топиков, но указания на литературу и вних нет. Ниже я привожу кусочек своего черновика, если кто видел, где есть подробное описание, и особенно ОЦЕНКА подобных вещей с указанием граблей, пожалуйста, пожалейте моё время, подскажите. По возможности с указанием страниц или глав, а то просматривать сотни страниц тоже удовольствие сомнительное.

524372841__attach.txt


Дата: Авг 17, 2004 14:00:45 · Поправил: Noble Ghost

брр. аттач не смотрел, но тебе нужен алгоритм Бойера-Мура. Погугли, что ли

Upd: ааа, сорри. неправильно тебя понял.
но все равно алгоритм БМ весьма легко дорабатывается до того, что тебе нужно.


Дата: Авг 17, 2004 16:08:19

Да, похоже на правду. Правда опять же, подход для одного вхождения, а мне бы алгоритм вычисления множества символов для поиска некоторого множесва строк с учетом длин искомых строк и частот появления символов в строке, в которой ищем. Но за это тоже спасибо, буду углубляться.


Дата: Авг 17, 2004 17:43:23

за алгоритмами топай сюда http://algolist.manual.ru/ :)
ЗЫ.там много чего есть.


Дата: Авг 17, 2004 18:03:42

На, от сердца отрываю :)

http://www-igm.univ-mlv.fr/~lecroq/string/


Дата: Авг 17, 2004 18:04:22

Посмотрел у Кнута, но у него описываются алгоритмы единичного поиска, в то время как мне надо оптимизировать поиск многих альтернатив.

Я не очень понял формулировку. Т.е. тебе надо прогнать много паттернов против какого-то блока текста?


Дата: Авг 17, 2004 21:16:19 · Поправил: che

>>Я не очень понял формулировку. Т.е. тебе надо прогнать много паттернов против какого-то блока текста?

Типа того, но не по одиночке на блок, а первое(или все) совпадение любого из вариантов. Regex движок хочу, соптимизированный до безобразия. Там из аттача понятно. А за ссылки спасибо, сердечко надеюсь вывезло :)

P.S. хорошая книжечка. Вникаю.


Дата: Авг 17, 2004 21:34:26

В общем случае regex движок тебе круче того, что сделано в pcre и движке перла, соптимизировать удасться вряд ли :( Однако мне попадалась на глаза статейка (правда, там только зубодробительные мат. выкладки), что можно построить regex на галстуке Патриции :)
Патриция - patricia trie. Описана у Сэджвика, да и у Кнута тоже. Может быть, перепишу свою вторую часть упаковщиков и добавлю туда примерчик на патрицию...


Дата: Авг 17, 2004 21:41:03

>>В общем случае regex движок тебе круче того, что сделано в pcre и движке перла, соптимизировать удасться вряд ли :(
Это как посмотреть. Во первых асм, во вторых "а попробовать?"


Дата: Авг 17, 2004 21:50:39

Пробуй.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.187