27.11.2012 Aufrufe

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!