IV003 Algorithms and Data Structures II

String matching


Prednáška

Posledná prednáška predstavuje veľmi stručný úvod do problematiky algoritmov pre spracovanie reťazcov.

Základné informácie nájdete na slajdoch, s. 634-674, plný text v  Jeff Erickson: String Matching. Prehľad algoritmov s dobrým popisom a vizualizáciou je na .

Prednáška prezentuje základné techniky, ktoré sa používajú v string matching algoritmoch: metódu Karpa a Rabina (aka fingerprinting alebo hašovanie), konečné automaty, algoritmus KMP a Boyer-Moore. Algoritmy sa líšia zložitosťou predspracovania a zložitosťou vyhľadávania (v najhoršom, najlepšom, očakávanom) prípade, viz slajd 637. String matching problém sa typicky rieši pre veľké vstupné inštancie a preto každé vylepšenie algoritmu s prejaví v čase výpočtu.  Jednotlivé algoritmy sa typicky líšia aj svojim chovaním na rôznych typoch vstupných inštancií, čo sa dá s výhodou využiť pri výbere toho "správneho" algoritmu. 


Cvičenie

Príklady na precvičenie. Kto hľadá, nájde. 

Následující