Forum: FreePascal
by Gausi,
6. Jun 2013
Boyer-Moore (oder andere Verfahren jenseits des naiven) sind deshalb so schnell, weil sie vor der eigentlichen Suche eine Vorbereitungsphase haben. Bei Boyer-Moore läuft diese Vorbereitungsphase auf Grundlage des Suchstrings und heißt hier PreProcess_BMH_BC.
Dein Code durchläuft nach jedem Fund diese Vorbereitungsphase erneut - und bremst dadurch das Verfahren extrem aus. Inbesondere dann,...
Forum: FreePascal
by Gausi,
6. Jun 2013
Das exit fehlt da nicht, das ist da mit Absicht nicht drin - steht ja so in den Original-Kommentaren: "//oder: k+1, oder: break; je nachdem, wie man den Text komplett durchsucht haben will"
Finde ich übrigens schön, dass mein Code hier als "Delphi-Original" gehandelt wird. :stupid:
In meiner ursprünglichen Routine gab es auch einen optionalen Listen-Parameter, in den alle Fundstellen...