linux-l: wiedermal perl

Marek Froehlich marek at samweis.in-berlin.de
Mo Okt 29 17:07:41 CET 2001


On Mon, 29 Oct 2001 16:08:39 +0100, Ulrich Wiederhold wrote:

>Hallo,
>ich habe folgendes Problem.
>Ich möchte im key eines hashs nach einem String suchen, z.B. mehreren Wörtern. Die Sucher
>soll erfolgreich sein, wenn alle diese Wörter in beliebiger Reihenfolge
>gefunden werden.
>
[code gelöscht]
>Soweit funktioniert das. Mein Problem ist, daß die ganze Prozedur
>ziemlich viel CPU-Power schluckt.
>
>Hat jemand ne bessere Lösung?

Vorschlag: baue Dir einen Hash, dessen Keys aus allen
Permutationen der Wörter des Suchstrings gebildet werden.
Die Suche beschränkt sich dann nur noch auf die Überprüfung,
ob der Key nach dem Du suchst ein Key des Permutation-Hashs ist -

if ( exists $perm_hash{$search_key} ) { ... }

hth


Mit freundlichen Grüßen

Marek Fröhlich
--
/ Marek Fröhlich | Scotty: Captain, hier Maschinenraum. Wir haben ein    \
| 13467 Berlin   |         Problem - ich brauch 2 Tage für die Reparatur.|
| Germany        | Kirk:   Ich geb Ihnen 2 Stunden!                      |
\                | Scotty: Ok. Scotty ende.                              /





Mehr Informationen über die Mailingliste linux-l