Datenstrukturen und Algorithmen
Welche Voraussetzung muss erfüllt sein, um die binäre Suche zu verwenden, die den Zielwert mit dem mittleren Element vergleicht und den Suchbereich jedes Mal halbiert?
- ADie Zahl der Datenelemente muss eine Zweierpotenz sein
- BDie Daten müssen nach dem Schlüssel sortiert sein
- CDie Daten dürfen keine doppelten Werte enthalten
Antwort und Erläuterung anzeigen
Antwort: B. Die Daten müssen nach dem Schlüssel sortiert sein
Die binäre Suche entscheidet anhand des Vergleichs mit dem mittleren Element, ob der Zielwert in der vorderen oder hinteren Hälfte liegt, und halbiert den Bereich. Dieser Schluss gilt nur, weil die Daten sortiert sind; auf ein unsortiertes Array lässt sich die binäre Suche nicht anwenden. Die Zahl der Elemente muss keine Zweierpotenz sein; wählt man die Mitte zum Beispiel als (untere Grenze + obere Grenze) ÷ 2 abgerundet, funktioniert sie bei jeder Größe. Doppelte Werte sind ebenfalls kein Problem: Einer der passenden Werte wird gefunden (um das erste Vorkommen zu finden, ist ein kleiner Zusatzschritt nötig).