https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=String-Matching-Algorithmus
String-Matching-Algorithmus - Versionsgeschichte
2025-04-18T07:41:14Z
Versionsgeschichte dieser Seite in Wikipedia
MediaWiki 1.44.0-wmf.25
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=227452349&oldid=prev
Invisigoth67: typo
2022-10-29T09:45:52Z
<p>typo</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 29. Oktober 2022, 11:45 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 42:</td>
<td colspan="2" class="diff-lineno">Zeile 42:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Bei dem String-Matching-Algorithmus mit Hilfe von [[Endlicher Automat|endlichen Automaten]] wird ein für ein Alphabet <math>\Sigma</math> und ein gegebenes Suchmuster der Länge <math>m</math> ein Automat <math>(Q, \Sigma, \delta, q_0, \{q_m\})</math> mit Zustandsmenge <math>\textstyle Q = \{q_i \mid 0 \le i \le m\}</math> erstellt. Dabei stellt <math>\textstyle i</math> die Anzahl von übereinstimmenden Buchstaben an der aktuellen Stelle vom Anfang des Suchmusters an betrachtet dar. Zur Einfachheit sei <math>\textstyle P_i</math> das [[Präfix]] des Suchmusters bis einschließlich des Buchstabens an der Stelle <math>\textstyle i</math>. Die Übergangsfunktion <math>\delta(q_i, a)</math> mit <math>a \isin \Sigma</math> gibt nun für <math>0 \le i \le m - 1</math> wieder einen Zustand <math>q_j</math> zurück, bei dem <math>j</math> die maximale Anzahl von Buchstaben darstellt, mit der <math>P_j</math> ein [[Suffix]] vom Wort <math>P_i a</math> ist. Also <math>\delta(q_i, a) = q_{max\{j \mid P_j \text{ ist Suffix von } P_i a\}}</math>. Ist das Suchmuster gefunden, wird im Endzustand verharrt, also <math>\delta(q_m, a) = q_m</math>.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Bei dem String-Matching-Algorithmus mit Hilfe von [[Endlicher Automat|endlichen Automaten]] wird ein für ein Alphabet <math>\Sigma</math> und ein gegebenes Suchmuster der Länge <math>m</math> ein Automat <math>(Q, \Sigma, \delta, q_0, \{q_m\})</math> mit Zustandsmenge <math>\textstyle Q = \{q_i \mid 0 \le i \le m\}</math> erstellt. Dabei stellt <math>\textstyle i</math> die Anzahl von übereinstimmenden Buchstaben an der aktuellen Stelle vom Anfang des Suchmusters an betrachtet dar. Zur Einfachheit sei <math>\textstyle P_i</math> das [[Präfix]] des Suchmusters bis einschließlich des Buchstabens an der Stelle <math>\textstyle i</math>. Die Übergangsfunktion <math>\delta(q_i, a)</math> mit <math>a \isin \Sigma</math> gibt nun für <math>0 \le i \le m - 1</math> wieder einen Zustand <math>q_j</math> zurück, bei dem <math>j</math> die maximale Anzahl von Buchstaben darstellt, mit der <math>P_j</math> ein [[Suffix]] vom Wort <math>P_i a</math> ist. Also <math>\delta(q_i, a) = q_{max\{j \mid P_j \text{ ist Suffix von } P_i a\}}</math>. Ist das Suchmuster gefunden, wird im Endzustand verharrt, also <math>\delta(q_m, a) = q_m</math>.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Der Vorteil dieses Algorithmus gegenüber dem naiven Algorithmus liegt darin, dass er auch beim <del style="font-weight: bold; text-decoration: none;">finden</del> eines nicht-passenden Zeichens das erlangte Wissen über den bereits verarbeiteten Teil der Zeichenkette nicht verwirft. Angenommen, wir suchen das Muster ''anax'' im Text ''ananax''. Trifft der automatenbasierte Algorithmus bei der Suche auf das Zweite ''n'' in ''<span style="color:#008000">ana</span><span style="color:#800000">n</span>ax'', so wird er die ersten beiden Buchstaben verwerfen und beginnend mit ''an<span style="color:#008000">an</span>ax'' weitersuchen. Der naive Algorithmus hingegen hätte den kompletten bereits verarbeiteten Teil verworfen und hätte beginnend mit ''a<span style="color:#008000">n</span>anax'' einen nächsten Versuch begonnen.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der Vorteil dieses Algorithmus gegenüber dem naiven Algorithmus liegt darin, dass er auch beim <ins style="font-weight: bold; text-decoration: none;">Finden</ins> eines nicht-passenden Zeichens das erlangte Wissen über den bereits verarbeiteten Teil der Zeichenkette nicht verwirft. Angenommen, wir suchen das Muster ''anax'' im Text ''ananax''. Trifft der automatenbasierte Algorithmus bei der Suche auf das Zweite ''n'' in ''<span style="color:#008000">ana</span><span style="color:#800000">n</span>ax'', so wird er die ersten beiden Buchstaben verwerfen und beginnend mit ''an<span style="color:#008000">an</span>ax'' weitersuchen. Der naive Algorithmus hingegen hätte den kompletten bereits verarbeiteten Teil verworfen und hätte beginnend mit ''a<span style="color:#008000">n</span>anax'' einen nächsten Versuch begonnen.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Python-Implementation'''</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Python-Implementation'''</div></td>
</tr>
</table>
Invisigoth67
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=227371470&oldid=prev
46.114.142.194: Komma zugefügt
2022-10-26T11:24:54Z
<p>Komma zugefügt</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 26. Oktober 2022, 13:24 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 23:</td>
<td colspan="2" class="diff-lineno">Zeile 23:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Pseudocode:'''</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Pseudocode:'''</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '''Eingabe''': Strings T = T<sub>1</sub>… T<sub>n</sub> und P = P<sub>1</sub> … P<sub>m</sub></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> '''Eingabe''': Strings T = T<sub>1</sub>… T<sub>n</sub> und P = P<sub>1</sub> … P<sub>m</sub></div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> '''Ausgabe''': q die Stellen an denen P in T auftritt</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> '''Ausgabe''': q die Stellen<ins style="font-weight: bold; text-decoration: none;">,</ins> an denen P in T auftritt</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="pascal"></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="pascal"></div></td>
</tr>
</table>
46.114.142.194
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=186438182&oldid=prev
Xqt: /* Siehe auch */
2019-03-10T12:33:10Z
<p><span class="autocomment">Siehe auch</span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 10. März 2019, 14:33 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 189:</td>
<td colspan="2" class="diff-lineno">Zeile 189:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Suchverfahren]]</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Suchverfahren]]</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Levenshtein-Distanz]] (approximative Suche)</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Levenshtein-Distanz]] (approximative Suche)</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[Gestalt Pattern Matching]] (approximative Suche)</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Volltextrecherche]]</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Volltextrecherche]]</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
</table>
Xqt
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=185334203&oldid=prev
Facme: /* Endlicher Automat */ Grammatik
2019-02-03T07:27:45Z
<p><span class="autocomment">Endlicher Automat: </span> Grammatik</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 3. Februar 2019, 09:27 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 40:</td>
<td colspan="2" class="diff-lineno">Zeile 40:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Endlicher Automat ====</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Endlicher Automat ====</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:Eines endlicher Automat zur Suche der Zeichenkette "anax" in Texten.svg|mini|Ein endlicher Automat zur Suche des Wortes ''anax'']]</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:Eines endlicher Automat zur Suche der Zeichenkette "anax" in Texten.svg|mini|Ein endlicher Automat zur Suche des Wortes ''anax'']]</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Bei dem String-Matching-Algorithmus mit Hilfe von [[Endlicher Automat|endlichen Automaten]] wird ein für ein Alphabet <math>\Sigma</math> und ein gegebenes Suchmuster der Länge <math>m</math> ein Automat <math>(Q, \Sigma, \delta, q_0, \{q_m\})</math> mit Zustandsmenge <math>\textstyle Q = \{q_i \mid 0 \le i \le m\}</math> erstellt. Dabei stellt <math>\textstyle i</math> die Anzahl von übereinstimmenden Buchstaben an der aktuellen Stelle vom Anfang des Suchmusters an betrachtet dar. Zur Einfachheit sei <math>\textstyle P_i</math> das [[Präfix]] des Suchmusters bis einschließlich <del style="font-weight: bold; text-decoration: none;">dem</del> <del style="font-weight: bold; text-decoration: none;">Buchstaben</del> an der Stelle <math>\textstyle i</math>. Die Übergangsfunktion <math>\delta(q_i, a)</math> mit <math>a \isin \Sigma</math> gibt nun für <math>0 \le i \le m - 1</math> wieder einen Zustand <math>q_j</math> zurück, bei dem <math>j</math> die maximale Anzahl von Buchstaben darstellt, mit der <math>P_j</math> ein [[Suffix]] vom Wort <math>P_i a</math> ist. Also <math>\delta(q_i, a) = q_{max\{j \mid P_j \text{ ist Suffix von } P_i a\}}</math>. Ist das Suchmuster gefunden, wird im Endzustand verharrt, also <math>\delta(q_m, a) = q_m</math>.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Bei dem String-Matching-Algorithmus mit Hilfe von [[Endlicher Automat|endlichen Automaten]] wird ein für ein Alphabet <math>\Sigma</math> und ein gegebenes Suchmuster der Länge <math>m</math> ein Automat <math>(Q, \Sigma, \delta, q_0, \{q_m\})</math> mit Zustandsmenge <math>\textstyle Q = \{q_i \mid 0 \le i \le m\}</math> erstellt. Dabei stellt <math>\textstyle i</math> die Anzahl von übereinstimmenden Buchstaben an der aktuellen Stelle vom Anfang des Suchmusters an betrachtet dar. Zur Einfachheit sei <math>\textstyle P_i</math> das [[Präfix]] des Suchmusters bis einschließlich <ins style="font-weight: bold; text-decoration: none;">des</ins> <ins style="font-weight: bold; text-decoration: none;">Buchstabens</ins> an der Stelle <math>\textstyle i</math>. Die Übergangsfunktion <math>\delta(q_i, a)</math> mit <math>a \isin \Sigma</math> gibt nun für <math>0 \le i \le m - 1</math> wieder einen Zustand <math>q_j</math> zurück, bei dem <math>j</math> die maximale Anzahl von Buchstaben darstellt, mit der <math>P_j</math> ein [[Suffix]] vom Wort <math>P_i a</math> ist. Also <math>\delta(q_i, a) = q_{max\{j \mid P_j \text{ ist Suffix von } P_i a\}}</math>. Ist das Suchmuster gefunden, wird im Endzustand verharrt, also <math>\delta(q_m, a) = q_m</math>.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Vorteil dieses Algorithmus gegenüber dem naiven Algorithmus liegt darin, dass er auch beim finden eines nicht-passenden Zeichens das erlangte Wissen über den bereits verarbeiteten Teil der Zeichenkette nicht verwirft. Angenommen, wir suchen das Muster ''anax'' im Text ''ananax''. Trifft der automatenbasierte Algorithmus bei der Suche auf das Zweite ''n'' in ''<span style="color:#008000">ana</span><span style="color:#800000">n</span>ax'', so wird er die ersten beiden Buchstaben verwerfen und beginnend mit ''an<span style="color:#008000">an</span>ax'' weitersuchen. Der naive Algorithmus hingegen hätte den kompletten bereits verarbeiteten Teil verworfen und hätte beginnend mit ''a<span style="color:#008000">n</span>anax'' einen nächsten Versuch begonnen.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Vorteil dieses Algorithmus gegenüber dem naiven Algorithmus liegt darin, dass er auch beim finden eines nicht-passenden Zeichens das erlangte Wissen über den bereits verarbeiteten Teil der Zeichenkette nicht verwirft. Angenommen, wir suchen das Muster ''anax'' im Text ''ananax''. Trifft der automatenbasierte Algorithmus bei der Suche auf das Zweite ''n'' in ''<span style="color:#008000">ana</span><span style="color:#800000">n</span>ax'', so wird er die ersten beiden Buchstaben verwerfen und beginnend mit ''an<span style="color:#008000">an</span>ax'' weitersuchen. Der naive Algorithmus hingegen hätte den kompletten bereits verarbeiteten Teil verworfen und hätte beginnend mit ''a<span style="color:#008000">n</span>anax'' einen nächsten Versuch begonnen.</div></td>
</tr>
</table>
Facme
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=178787329&oldid=prev
82.149.77.122 am 1. Juli 2018 um 18:55 Uhr
2018-07-01T18:55:42Z
<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 1. Juli 2018, 20:55 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 42:</td>
<td colspan="2" class="diff-lineno">Zeile 42:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Bei dem String-Matching-Algorithmus mit Hilfe von [[Endlicher Automat|endlichen Automaten]] wird ein für ein Alphabet <math>\Sigma</math> und ein gegebenes Suchmuster der Länge <math>m</math> ein Automat <math>(Q, \Sigma, \delta, q_0, \{q_m\})</math> mit Zustandsmenge <math>\textstyle Q = \{q_i \mid 0 \le i \le m\}</math> erstellt. Dabei stellt <math>\textstyle i</math> die Anzahl von übereinstimmenden Buchstaben an der aktuellen Stelle vom Anfang des Suchmusters an betrachtet dar. Zur Einfachheit sei <math>\textstyle P_i</math> das [[Präfix]] des Suchmusters bis einschließlich dem Buchstaben an der Stelle <math>\textstyle i</math>. Die Übergangsfunktion <math>\delta(q_i, a)</math> mit <math>a \isin \Sigma</math> gibt nun für <math>0 \le i \le m - 1</math> wieder einen Zustand <math>q_j</math> zurück, bei dem <math>j</math> die maximale Anzahl von Buchstaben darstellt, mit der <math>P_j</math> ein [[Suffix]] vom Wort <math>P_i a</math> ist. Also <math>\delta(q_i, a) = q_{max\{j \mid P_j \text{ ist Suffix von } P_i a\}}</math>. Ist das Suchmuster gefunden, wird im Endzustand verharrt, also <math>\delta(q_m, a) = q_m</math>.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Bei dem String-Matching-Algorithmus mit Hilfe von [[Endlicher Automat|endlichen Automaten]] wird ein für ein Alphabet <math>\Sigma</math> und ein gegebenes Suchmuster der Länge <math>m</math> ein Automat <math>(Q, \Sigma, \delta, q_0, \{q_m\})</math> mit Zustandsmenge <math>\textstyle Q = \{q_i \mid 0 \le i \le m\}</math> erstellt. Dabei stellt <math>\textstyle i</math> die Anzahl von übereinstimmenden Buchstaben an der aktuellen Stelle vom Anfang des Suchmusters an betrachtet dar. Zur Einfachheit sei <math>\textstyle P_i</math> das [[Präfix]] des Suchmusters bis einschließlich dem Buchstaben an der Stelle <math>\textstyle i</math>. Die Übergangsfunktion <math>\delta(q_i, a)</math> mit <math>a \isin \Sigma</math> gibt nun für <math>0 \le i \le m - 1</math> wieder einen Zustand <math>q_j</math> zurück, bei dem <math>j</math> die maximale Anzahl von Buchstaben darstellt, mit der <math>P_j</math> ein [[Suffix]] vom Wort <math>P_i a</math> ist. Also <math>\delta(q_i, a) = q_{max\{j \mid P_j \text{ ist Suffix von } P_i a\}}</math>. Ist das Suchmuster gefunden, wird im Endzustand verharrt, also <math>\delta(q_m, a) = q_m</math>.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Der Vorteil dieses Algorithmus gegenüber dem naiven Algorithmus liegt darin, dass er auch beim finden eines nicht-passenden Zeichens das erlangte Wissen über den bereits verarbeiteten Teil der Zeichenkette nicht verwirft. Angenommen, wir suchen das Muster ''anax'' im Text ''ananax''. Trifft der automatenbasierte Algorithmus bei der Suche auf das Zweite ''n'' in ''<span style="color:#008000">ana</span><span style="color:#800000">n</span>ax'', so wird er die ersten beiden Buchstaben verwerfen und beginnend mit ''an<span style="color:#008000">an</span>ax''<del style="font-weight: bold; text-decoration: none;">"</del> weitersuchen. Der naive Algorithmus hingegen hätte den kompletten bereits verarbeiteten Teil verworfen und hätte beginnend mit ''a<span style="color:#<del style="font-weight: bold; text-decoration: none;">800000</del>">n</span>anax'' einen nächsten Versuch begonnen.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Der Vorteil dieses Algorithmus gegenüber dem naiven Algorithmus liegt darin, dass er auch beim finden eines nicht-passenden Zeichens das erlangte Wissen über den bereits verarbeiteten Teil der Zeichenkette nicht verwirft. Angenommen, wir suchen das Muster ''anax'' im Text ''ananax''. Trifft der automatenbasierte Algorithmus bei der Suche auf das Zweite ''n'' in ''<span style="color:#008000">ana</span><span style="color:#800000">n</span>ax'', so wird er die ersten beiden Buchstaben verwerfen und beginnend mit ''an<span style="color:#008000">an</span>ax'' weitersuchen. Der naive Algorithmus hingegen hätte den kompletten bereits verarbeiteten Teil verworfen und hätte beginnend mit ''a<span style="color:#<ins style="font-weight: bold; text-decoration: none;">008000</ins>">n</span>anax'' einen nächsten Versuch begonnen.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Python-Implementation'''</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''Python-Implementation'''</div></td>
</tr>
</table>
82.149.77.122
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=166156678&oldid=prev
92.77.204.64: /* Endlicher Automat */ "Präfix" ist ein Neutrum
2017-06-07T08:45:14Z
<p><span class="autocomment">Endlicher Automat: </span> "Präfix" ist ein Neutrum</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 7. Juni 2017, 10:45 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 40:</td>
<td colspan="2" class="diff-lineno">Zeile 40:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Endlicher Automat ====</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Endlicher Automat ====</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:Eines endlicher Automat zur Suche der Zeichenkette "anax" in Texten.svg|mini|Ein endlicher Automat zur Suche des Wortes ''anax'']]</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:Eines endlicher Automat zur Suche der Zeichenkette "anax" in Texten.svg|mini|Ein endlicher Automat zur Suche des Wortes ''anax'']]</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Bei dem String-Matching-Algorithmus mit Hilfe von [[Endlicher Automat|endlichen Automaten]] wird ein für ein Alphabet <math>\Sigma</math> und ein gegebenes Suchmuster der Länge <math>m</math> ein Automat <math>(Q, \Sigma, \delta, q_0, \{q_m\})</math> mit Zustandsmenge <math>\textstyle Q = \{q_i \mid 0 \le i \le m\}</math> erstellt. Dabei stellt <math>\textstyle i</math> die Anzahl von übereinstimmenden Buchstaben an der aktuellen Stelle vom Anfang des Suchmusters an betrachtet dar. Zur Einfachheit sei <math>\textstyle P_i</math> <del style="font-weight: bold; text-decoration: none;">der</del> [[Präfix]] des Suchmusters bis einschließlich dem Buchstaben an der Stelle <math>\textstyle i</math>. Die Übergangsfunktion <math>\delta(q_i, a)</math> mit <math>a \isin \Sigma</math> gibt nun für <math>0 \le i \le m - 1</math> wieder einen Zustand <math>q_j</math> zurück, bei dem <math>j</math> die maximale Anzahl von Buchstaben darstellt, mit der <math>P_j</math> ein [[Suffix]] vom Wort <math>P_i a</math> ist. Also <math>\delta(q_i, a) = q_{max\{j \mid P_j \text{ ist Suffix von } P_i a\}}</math>. Ist das Suchmuster gefunden, wird im Endzustand verharrt, also <math>\delta(q_m, a) = q_m</math>.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Bei dem String-Matching-Algorithmus mit Hilfe von [[Endlicher Automat|endlichen Automaten]] wird ein für ein Alphabet <math>\Sigma</math> und ein gegebenes Suchmuster der Länge <math>m</math> ein Automat <math>(Q, \Sigma, \delta, q_0, \{q_m\})</math> mit Zustandsmenge <math>\textstyle Q = \{q_i \mid 0 \le i \le m\}</math> erstellt. Dabei stellt <math>\textstyle i</math> die Anzahl von übereinstimmenden Buchstaben an der aktuellen Stelle vom Anfang des Suchmusters an betrachtet dar. Zur Einfachheit sei <math>\textstyle P_i</math> <ins style="font-weight: bold; text-decoration: none;">das</ins> [[Präfix]] des Suchmusters bis einschließlich dem Buchstaben an der Stelle <math>\textstyle i</math>. Die Übergangsfunktion <math>\delta(q_i, a)</math> mit <math>a \isin \Sigma</math> gibt nun für <math>0 \le i \le m - 1</math> wieder einen Zustand <math>q_j</math> zurück, bei dem <math>j</math> die maximale Anzahl von Buchstaben darstellt, mit der <math>P_j</math> ein [[Suffix]] vom Wort <math>P_i a</math> ist. Also <math>\delta(q_i, a) = q_{max\{j \mid P_j \text{ ist Suffix von } P_i a\}}</math>. Ist das Suchmuster gefunden, wird im Endzustand verharrt, also <math>\delta(q_m, a) = q_m</math>.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Vorteil dieses Algorithmus gegenüber dem naiven Algorithmus liegt darin, dass er auch beim finden eines nicht-passenden Zeichens das erlangte Wissen über den bereits verarbeiteten Teil der Zeichenkette nicht verwirft. Angenommen, wir suchen das Muster ''anax'' im Text ''ananax''. Trifft der automatenbasierte Algorithmus bei der Suche auf das Zweite ''n'' in ''<span style="color:#008000">ana</span><span style="color:#800000">n</span>ax'', so wird er die ersten beiden Buchstaben verwerfen und beginnend mit ''an<span style="color:#008000">an</span>ax''" weitersuchen. Der naive Algorithmus hingegen hätte den kompletten bereits verarbeiteten Teil verworfen und hätte beginnend mit ''a<span style="color:#800000">n</span>anax'' einen nächsten Versuch begonnen.</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der Vorteil dieses Algorithmus gegenüber dem naiven Algorithmus liegt darin, dass er auch beim finden eines nicht-passenden Zeichens das erlangte Wissen über den bereits verarbeiteten Teil der Zeichenkette nicht verwirft. Angenommen, wir suchen das Muster ''anax'' im Text ''ananax''. Trifft der automatenbasierte Algorithmus bei der Suche auf das Zweite ''n'' in ''<span style="color:#008000">ana</span><span style="color:#800000">n</span>ax'', so wird er die ersten beiden Buchstaben verwerfen und beginnend mit ''an<span style="color:#008000">an</span>ax''" weitersuchen. Der naive Algorithmus hingegen hätte den kompletten bereits verarbeiteten Teil verworfen und hätte beginnend mit ''a<span style="color:#800000">n</span>anax'' einen nächsten Versuch begonnen.</div></td>
</tr>
</table>
92.77.204.64
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=166156643&oldid=prev
92.77.204.64: /* Endlicher Automat */ "Suffix" ist ein Neutrum
2017-06-07T08:43:06Z
<p><span class="autocomment">Endlicher Automat: </span> "Suffix" ist ein Neutrum</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 7. Juni 2017, 10:43 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 47:</td>
<td colspan="2" class="diff-lineno">Zeile 47:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="Python"></div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><syntaxhighlight lang="Python"></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>def is_suffix(suffix, word):</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>def is_suffix(suffix, word):</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> '''Überprüft ob <del style="font-weight: bold; text-decoration: none;">der</del> suffix ein Suffix von word ist.'''</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> '''Überprüft ob <ins style="font-weight: bold; text-decoration: none;">das</ins> suffix ein Suffix von word ist.'''</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> return word.endswith(suffix)</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> return word.endswith(suffix)</div></td>
</tr>
</table>
92.77.204.64
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=162499648&oldid=prev
Regi51: Änderungen von 87.143.156.89 (Diskussion) rückgängig gemacht (HG) (3.1.22)
2017-02-10T11:38:19Z
<p>Änderungen von <a href="/wiki/Spezial:Beitr%C3%A4ge/87.143.156.89" title="Spezial:Beiträge/87.143.156.89">87.143.156.89</a> (<a href="/w/index.php?title=Benutzer_Diskussion:87.143.156.89&action=edit&redlink=1" class="new" title="Benutzer Diskussion:87.143.156.89 (Seite nicht vorhanden)">Diskussion</a>) rückgängig gemacht (<a href="/wiki/Wikipedia:Huggle" title="Wikipedia:Huggle">HG</a>) (3.1.22)</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 10. Februar 2017, 13:38 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 36:</td>
<td colspan="2" class="diff-lineno">Zeile 36:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> Text: aaa...aab</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> Text: aaa...aab</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> Muster: ab</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> Muster: ab</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Derartige Fälle sind in natürlich sprachlichen Texten äußerst <del style="font-weight: bold; text-decoration: none;">Penis</del>.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Derartige Fälle sind in natürlich sprachlichen Texten äußerst <ins style="font-weight: bold; text-decoration: none;">unwahrscheinlich</ins>.</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Endlicher Automat ====</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Endlicher Automat ====</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:Eines endlicher Automat zur Suche der Zeichenkette "anax" in Texten.svg|mini|Ein endlicher Automat zur Suche des Wortes ''anax'']]</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:Eines endlicher Automat zur Suche der Zeichenkette "anax" in Texten.svg|mini|Ein endlicher Automat zur Suche des Wortes ''anax'']]</div></td>
</tr>
</table>
Regi51
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=162499645&oldid=prev
87.143.156.89 am 10. Februar 2017 um 11:38 Uhr
2017-02-10T11:38:11Z
<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 10. Februar 2017, 13:38 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 36:</td>
<td colspan="2" class="diff-lineno">Zeile 36:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> Text: aaa...aab</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> Text: aaa...aab</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> Muster: ab</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> Muster: ab</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Derartige Fälle sind in natürlich sprachlichen Texten äußerst <del style="font-weight: bold; text-decoration: none;">unwahrscheinlich</del>.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Derartige Fälle sind in natürlich sprachlichen Texten äußerst <ins style="font-weight: bold; text-decoration: none;">Penis</ins>.</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td colspan="2" class="diff-empty diff-side-added"></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Endlicher Automat ====</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>==== Endlicher Automat ====</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:Eines endlicher Automat zur Suche der Zeichenkette "anax" in Texten.svg|mini|Ein endlicher Automat zur Suche des Wortes ''anax'']]</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:Eines endlicher Automat zur Suche der Zeichenkette "anax" in Texten.svg|mini|Ein endlicher Automat zur Suche des Wortes ''anax'']]</div></td>
</tr>
</table>
87.143.156.89
https://de.wikipedia.org/w/index.php?title=String-Matching-Algorithmus&diff=159827621&oldid=prev
109.46.252.29: /* Multi-String-Matching */
2016-11-18T23:50:13Z
<p><span class="autocomment">Multi-String-Matching</span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 19. November 2016, 01:50 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 150:</td>
<td colspan="2" class="diff-lineno">Zeile 150:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Multi-String-Matching ==</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Multi-String-Matching ==</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die Suche nach mehreren Mustern in einem Text nennt sich Multi-String-Matching<ref>{{Literatur |Autor=Gonzalo Navarro, Mathieu Raffinot |Titel=Flexible Pattern Matching Strings: Practical On-Line Search Algorithms for Texts and Biological Sequences |Datum=2008 |ISBN=0-521-03993-2}}</ref>. Die meisten Algorithmen sind abgeleitet von einem entsprechenden String-Matching Algorithmus für <del style="font-weight: bold; text-decoration: none;">ganau</del> ein Muster. Eine besondere Herausforderung bei der Suche nach mehreren Suchwörtern ist die Behandlungen von Wort-Überlappungen.</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die Suche nach mehreren Mustern in einem Text nennt sich Multi-String-Matching<ref>{{Literatur |Autor=Gonzalo Navarro, Mathieu Raffinot |Titel=Flexible Pattern Matching Strings: Practical On-Line Search Algorithms for Texts and Biological Sequences |Datum=2008 |ISBN=0-521-03993-2}}</ref>. Die meisten Algorithmen sind abgeleitet von einem entsprechenden String-Matching Algorithmus für <ins style="font-weight: bold; text-decoration: none;">genau</ins> ein Muster. Eine besondere Herausforderung bei der Suche nach mehreren Suchwörtern ist die Behandlungen von Wort-Überlappungen.</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Liste von Algorithmen ===</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Liste von Algorithmen ===</div></td>
</tr>
</table>
109.46.252.29