MINT üben

Binäre Suche

Zwei Aufgaben im Abiturformat — vom Postleitzahlen-Verzeichnis bis zur Suche nach dem ersten Blitzeinschlag.

Dein Fortschritt:
0 / 0 Aufgaben
1

Postleitzahlen-Verzeichnis

AFB I–II

Ein Versandhändler speichert die Postleitzahlen der Städte, in die er am selben Tag liefert, aufsteigend sortiert in der Reihung plz. Bei jeder Bestellung wird mit der binären Suche geprüft, ob die Postleitzahl x der Lieferadresse enthalten ist. Die Mitte wird mit mitte ← (links + rechts) / 2 (ganzzahlige Division) bestimmt.

Reihung plz (Länge 12)
  1. Beschreiben Sie das Prinzip der binären Suche und begründen Sie, warum sie hier anwendbar ist.
  2. Stellen Sie die Suche nach x = 60311 und nach x = 26000 jeweils in einer Tracetabelle mit den Spalten links, rechts, mitte, plz[mitte] dar. Geben Sie Rückgabewert und Zahl der Vergleiche an.
  3. Ermitteln Sie die höchstens nötige Zahl der Vergleiche für diese Reihung und für ein vollständiges Verzeichnis mit etwa 8 200 Postleitzahlen. Vergleichen Sie jeweils mit der linearen Suche.
  4. Implementieren Sie die binäre Suche als Java-Methode static int binaereSuche(int[] a, int x).

Hinweise

Hinweis zu Aufgabe a)
Voraussetzung der binären Suche nennen und am Beispiel prüfen.
Hinweis zu Aufgabe b)
Die Tabelle endet bei einem Treffer oder sobald links > rechts gilt.
Hinweis zu Aufgabe c)
Formel \(\lfloor\log_2 n\rfloor + 1\); die größte Zweierpotenz unter 8 200 ist \(2^{13} = 8192\).Ermitteln: Ergebnis finden und formulieren.
Hinweis zu Aufgabe d)
Zwei Grenzen, eine Schleife mit der Bedingung links <= rechts, drei Fälle.