Sunteți pe pagina 1din 1

Proiectarea algoritmilor

Fis, ă de exercit, ii
Seminarul 7
Căutarea peste s, iruri

S, tefan Ciobâcă, Dorel Lucanu


Universitatea Alexandru Ioan Cuza, Ias, i
Anul universitar 2017-2018

1. Calculat, i (de mână) funct, ia es, ec din algoritmul KMP pentru următoarele s, iruri:

(a) ababababaabab
(b) abcdefghijklmnop
(c) aabbaabbaaa
(d) aaaaaaaaaaaa
(e) abaabaaab

2. În timpul execut, iei algoritmului KMP, se verifică dacă pattern-ul ababa apare ı̂n textul
bbabaababa la pozit, ia i = 2. Primele k = 3 caractere se potrivesc, iar al 4-lea caracter
nu se potrives, te. Situat, ia este prezentată grafic ı̂n figura de mai jos.
Care este următorea pozit, ie a pattern-ului, după procesarea nepotrivirii? Care este numărul
de caractere care se potrivesc sigur la noul deplasament?

bbabaababa (textul s)
|||/
ababa (pattern-ul t)

3. Implementat, i ı̂n Alk algoritmul care calculează funct, ia es, ec ı̂n timp liniar (verificat, i exem-
plele de la primul exercit, iu).

4. Implementat, i ı̂n Alk algoritmul KMP.


5. Modificat, i algoritmul KMP de la curs pentru a găsi toate potrivirile pattern-ului. Indicat, ie:
stabilit, i cum trebuie actualizate valorile ment, inute de algoritm după ce s-a găsit o potrivire.

S-ar putea să vă placă și