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 (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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!