Also ich soll beschreiben, wie man den Rabin-Karp Algorithmus ändern muss damit Wildcards unterstützt werden.
Der Standart Rabin-Karp Algorithmus hat ja eine art Mapping Tabelle, wo auf jeden verwendeten Buchstaben eine Zahl gemapped wird.
Dann sondiert man das Hashing z.B. mittels
Dies tut man ja für den gesamten betrachteten Ausschnitt des Haupt Wortes.
Eine Wildcard wäre ja z.b. sowas "\\w" sprich einen Buchstaben aus dem Alphabet. Aber wie könnte ich hier dann einen Wert zu mappen.
Ich muss ja am Anfang des ganzen einmal einen Hash-Wert für mein Pattern erstellen und ich wüsste nicht worauf ich diese Wildcard mappen soll xD
Der Standart Rabin-Karp Algorithmus hat ja eine art Mapping Tabelle, wo auf jeden verwendeten Buchstaben eine Zahl gemapped wird.
Dann sondiert man das Hashing z.B. mittels
Java:
mappedValue * numberOfElementsInAlphabet^(pattern.length-1)
Dies tut man ja für den gesamten betrachteten Ausschnitt des Haupt Wortes.
Eine Wildcard wäre ja z.b. sowas "\\w" sprich einen Buchstaben aus dem Alphabet. Aber wie könnte ich hier dann einen Wert zu mappen.
Ich muss ja am Anfang des ganzen einmal einen Hash-Wert für mein Pattern erstellen und ich wüsste nicht worauf ich diese Wildcard mappen soll xD