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 (4/5):<br />
Bestimmung des Distanzfeldes in Java Pseudocode:<br />
public int[] initDis(char[] s ) {<br />
int[] dis = new int[s.length]; // Deklaration des Feldes<br />
int i = 0, j = -1; // Deklaration/Initialisierung temporärer Laufvariablen<br />
dis[0] = -1; // Init. dis[0]<br />
// i „durchwandert“ das Muster von links (0) nach rechts bis s.length-2<br />
while (i < s.length-1) {<br />
// j „zählt“ die gleichen Anfangszeichen<br />
while (j >= 0 && s[i] != s[j]) j=dis[j]; // Schleifenrumpf nur bei s[i]≠s[j] relevant<br />
// hiernach ist s[i]=s[j];<br />
//nur solange werden j <strong>und</strong> i inkrementiert u. dis[i] gesetzt<br />
i=i+1; j=j+1;<br />
dis[i] = j;<br />
}<br />
return dis;<br />
}<br />
23/47