seth_not@home: Mehrere Wörter in einem Text finden - Bitte um Optimierung

Beitrag lesen

gudn tach!

Ich möchte einen rund 5000 Zeichen langen Text auf das Vorhandensein verschiedener Wörter überprüfen, welche in einer Datenbank abgespeichert sind (ca. 500 Einträge).

zwei ideen dazu, ohne dass ich mir jetzt ueber geschwindigkeit naehere gedanken gemacht habe:

1. du kannst mal probieren zunaechst den haystack zu splitten (d.h. in die einzelnen woerter aufzuteilen), anschliessend in einen binaeren baum zu sortieren und anschliessend mit 500 binaeren suchdurchlaeufen nach den woertern suchen.

oder 2. du sortierst beide listen, also haystack (wieder gesplittet) und needles und arbeitest dann beide "parallel" ab, soll in pseudo-code etwa heissen

i = 0;
n = needle(i);
treffer = array();
foreach h (haystack){
  if(h<n) next; % diese zeile ist eigentlich redundant
  while(h>n) n=needle(++i);
  if(h==n) push(treffer, h);
}

prost
seth