Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Algorithmus von Knuth-Morris-Pratt (3/5):<br />
� Lösungsidee zur Bestimmung des Distanzfeldes dis (grob):<br />
Eine Kopie des Musters wird am Muster selbst vorbei<br />
geschoben, wobei die überlappenden Zeichen verglichen<br />
werden. In dis werden die jeweils übereinstimmenden<br />
Zeichen gespeichert.<br />
Beispiel:<br />
s<br />
0 1 2 3 4 5<br />
A B C A A B<br />
dis[i]<br />
i=1 s A B C A A B 0<br />
i=2 s A B C A A B 0<br />
i=3 s<br />
A B C A A B 0<br />
i=4 s<br />
A B C A A B 1<br />
i=5 s<br />
A B C A A B 1<br />
dis[i]= "0 oder x+1, falls ∃x:<br />
s[i-1-x]...s[i-1]=s[0]...s[x]"<br />
Bei Ungleichheit nach rechts<br />
verschieben um ein Feld<br />
Verschieben stoppt bei<br />
Gleichheit!<br />
Bei erster Ungleichheit Verschieben<br />
wieder aufnehmen!<br />
22/47