Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#17

Re: Suchalgorithmus gesucht

  Alt 10. Okt 2007, 13:25
Zitat von Gausi:
Zu "BM ist zu langsam" hätte ich mal ne Frage. ...
Das hat nichts mit dem Erstellen der Suffixtabellen zu tun, sondern mit dem Suchalgorithmus selbst. Dieser Overhead (Entscheidungen, wie und ob gesprungen wird etc.) sind für die relativ kurzen Strings (1-10 Zeichen) einfach zu viel. Stringmatching wird ja z.B. in der Genanalyse verwendet, wo man in einem String von 1000000den von GACT-Sequenzen eine bestimmte, vielleicht 100000 Zeichen lange zweite Sequenz suchen will.

In der FastString-Unit von DroopyEyes ist zwar ein BM-Search implementiert, nur scheint der im Endeffekt ein QS zu sein.

Grundsätzlich ist es aber schon so, das man die Erstellung der Sprungtabellen VOR dem Durchsuchen des Strings einmalig durchführt, da sie relativ zeitaufwändig sind.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat