Komplexität der naiven Suche

Intermediate Algorithmen und Datenstrukturen Deutsch
Also available: English
Created by Best · 16.08.2026 at 09:13 UTC

Seien n Textlänge und m Musterlänge. Naive Suche ist $O(n m)$ im Worst Case (z.B. aaaa... vs aaa...b).

Durchschnittlich oft besser, aber ohne Garantie.

$$\textit{alignments} = n-m+1$$

Wo gebraucht

Erklärt, warum Log-Parsing und Virus-Signatur-Scans bei naiver Suche skalieren. Anlass für KMP/Boyer-Moore und für invertierte Indizes.

Vertiefung

Seien n die Textlänge und m die Musterlänge. Es gibt höchstens n minus m plus eins relevante Ausrichtungen. Pro Ausrichtung können bis zu m Zeichenprüfungen nötig sein, wenn der Unterschied erst spät sichtbar wird.

Die tatsächliche Arbeit hängt stark von den Daten ab. Häufige frühe Unterschiede machen die Suche praktisch günstig. Texte und Muster mit langen wiederholten Präfixen erzwingen dagegen an vielen Positionen fast vollständige Prüfungen. Die Analyse multipliziert daher Zahl der Ausrichtungen mit maximaler Arbeit je Ausrichtung.

Schwierigkeitsstufen

  1. Zahl möglicher Startpositionen korrekt bestimmen.
  2. Best- und ungünstige Eingabemuster unterscheiden.
  3. Die Anzahl der Zeichenvergleiche für konkrete Wiederholungsmuster zählen.

Fallstricke

Die Laufzeit darf nicht allein mit der Textlänge begründet werden, wenn die Musterlänge variabel ist. Umgekehrt ist eine pessimistische Schranke keine Behauptung, dass jede reale Eingabe diese Arbeit verursacht.

University approvals: 0
Tasks
Question 1

Worst-Case-Komplexität der naiven Suche:

Question 2

Welches Eingabemuster verursacht besonders viele Zeichenvergleiche?

Question 3

Zähle die Zeichenvergleiche der naiven Suche. Beende die Suche beim ersten vollständigen Treffer.

Hint

Verwende für den Zähler wegen des Rückgabetyps long. Ein vollständiger Treffer kann die Methode mit return beenden.

Starter code is prefilled; replace TODO blocks with your solution.
1 test case will be used for grading
Run checks runtime behavior only. Final correctness is evaluated when you submit.
Card Info
  • Topic: Algorithmen und Datenstrukturen
  • Difficulty: Intermediate
  • Completed: 0 users
Creator
Best
Best
BestBuddy