Hi,
Nein, die Reihenfolge spielt keine Rolle, ich mache eine Statistik der enthaltenen Wörter, wobei die Position keine Rolle spielt. Und viele Wörter kann ich für die Statistik nicht gebrauchen.
Aha.
Dann parse das Dokument in ein Array. Alle doppelten raus (bzw Strichliste). Nach der PHP Dokumentation wird das als Hashtabelle übersetzt. Um Kollisionen zu vermeiden solltest Du die Größer des Arrays gleich der, na, halben Größe des Dokumentes setzen. (nach der Statistik würde die Quadratwurzel reichen, aber solche Annahmen streng nach Buch gehen meist in die Hose ;-).
Mmh... nein, das wird in PHP komplizierter als nötig und bringt nur marginal etwas zeitlich. Theoretisch könntest Du so Speicher sparen, dazu müßtest Du Dir aber deine Hashtabellen in PHP selber bauen, das macht keinen Sinn.
Und sowieso: O(n+k) reicht ja wohl, oder? Der Rest wäre eh nur Mikrooptimierung, da O(1) nicht erreicht werden kann. Du mußt jedes Wort im Dokument anfassen, da kommst Du halt nicht drumherum.
so short
Christoph Zurnieden