LINUX.ORG.RU

Ахо-Корасик поиск максимального совпадения


0

1

проблема в том, что алгоритм Ахо-Корасик ищет все сопадения, а нужно найти только максимальное. Т.е. в строке «qwerty» , мы ищем 'we' и 'wert' нужно чтобы он сработал только на 'wert'.

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



Последнее исправление: kifer (всего исправлений: 1)

Максимальное совпадение соответствует переходу из matched-состояния в не-matched-состояние (первое совпадение - переходу из не-matched-состояния в matched-состояние).

dmitry_vk ★★★
()
Ответ на: комментарий от dmitry_vk

Хм, т.е получается тотже бор но с переходом в корень (а не в ветвь с максимальныйм суффиксом) в случае неудачи после совпадения?

kifer
() автор топика
Ответ на: комментарий от dmitry_vk

Оно будет искать не максимальное в принципе, а «максимальное первое»

т.е. при строке «qwerty» и искомых «wer» «we» и «erty» наш вариант найдет «wer», а не «erty»? Но это меня устроит.

kifer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.