Я працюю над алгоритмами пошуку рядків, які підтримують пошук декількох шаблонів. Я знайшов два алгоритми, які здаються найсильнішими кандидатами з точки зору часу роботи, а саме Ахо-Корасик та Рабін-Карп . Однак я не зміг знайти жодного всебічного порівняння між двома алгоритмами. Який алгоритм є більш ефективним? Також, який з них більше підходить для паралельних обчислень та пошуку декількох шаблонів? Нарешті, для кого потрібно менше апаратних ресурсів?
Для алгоритму змінного струму фаза пошуку займає час , тоді як для RK це O ( n m ) . Однак час роботи для RK становить O ( n + m ), що робить його подібним до змінного струму. Мій попередній висновок полягає в тому, що RK здається практично кращим, оскільки йому не потрібно стільки пам'яті, як змінного струму. Це правильно?