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(2/5):<br />
� Problem: Bestimmen des Distanzfeldes dis.<br />
� Notwendig: Überprüfung des Musters auf sich wiederholende<br />
Teilmuster s[0]...s[j]. Findet sich eine Wiederholung des Umfanges j≥0<br />
links vom kritischen Vergleichsindex k, d.h. ist s[k-1-j] ...s[k-1] gleich<br />
s[0]...s[j], so kann der Vergleich s[0]...s[j] ausgelassen werden. D.h. k<br />
kann gleich j+1 gesetzt werden.<br />
Beispiel:<br />
a<br />
0 1 2 3 4 5 6 7<br />
i=0..4, k=0..4 s A B C A A B<br />
8 9 10 11 12 13 14<br />
A B C A B A B A B C A A B A B<br />
s[0]...s[0] ist gleich s[k-1-0]...s[k-1]=s[3]<br />
=> Verschieben auf k = j+1 = 0+1 = 1<br />
s A B C A A B<br />
k =1 ist zugleich der Index für<br />
den nächsten Vergleich!<br />
21/47