Pracuję nad algorytmami wyszukiwania ciągów, które obsługują wyszukiwanie wielu wzorców. Znalazłem dwa algorytmy, które wydają się najsilniejszymi kandydatami pod względem czasu działania, a mianowicie Aho-Corasick i Rabin-Karp . Nie udało mi się jednak znaleźć kompleksowego porównania między dwoma algorytmami. Który algorytm jest bardziej wydajny? Który z nich jest bardziej odpowiedni do obliczeń równoległych i wyszukiwania wielu wzorców? Wreszcie, który z nich wymaga mniej zasobów sprzętowych?
W przypadku algorytmu prądu przemiennego faza wyszukiwania zajmuje czas , natomiast dla RK jest to O ( n m ) . Jednak czas działania dla RK wynosi O ( n + m ), co czyni go podobnym do AC. Mój wstępny wniosek jest taki, że RK wydaje się praktycznie lepszy, ponieważ nie potrzebuje tyle pamięci, co AC. Czy to jest poprawne?