Изменения

Перейти к: навигация, поиск

Алгоритм Ахо-Корасик

372 байта добавлено, 13:39, 5 июня 2016
Оптимизации
== Оптимизации ==
Существует несколько оптимизаций данного алгоритма, направленных на случаи, когда нас интересует только первое вхождение образца в текст: # '''Сброс сжатых суффиксных ссылок для посещённых вершин. Если требуется найти только первое вхождение строки в текст, то существенно ''' #: Существенно ускорить работу алгоритма могут пометки о посещённости узла, т.е. то есть если узел посещён, то не переходить по сжатым суффиксным ссылкам. Вместо хранения пометок можно просто сбрасывать сжатую суффиксную ссылку.# '''Сброс пометки терминальной вершины. ''' #: В изначальном множестве образцов могут быть дублирующиеся строки. Если же таких строк будет многоМы можем хотеть из различать, то наш алгоритм будет очень долго работатьесли с одинаковыми строками связана разная мета-информация. Если же мы будем делать Тогда при попадании в терминальную вершину можно осуществлять сброс пометки этой терминальной вершины, когда обнаруживаем ее что сэкономит время на обновлении информации о вхождении образцов в первый разтекст. Тривиальным примером, то таким образом ускорим время работыв котором возникает ситуация долгой обработки, так как нас будет интересовать служит огромное множество образцов из одинаковых символов и текст только первое вхождениеиз этих символов.
== Поиск шаблонов с масками ==

Навигация