Dein Fortschritt:
0 / 0 Aufgaben
1
Übungsaufgaben
Dreißig Übungen zum Klicken, Zuordnen, Rechnen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung; wenn du nicht weiterkommst, helfen die gestuften Tipps.
A1
Was die rekursive binäre Suche ausmacht
AFB INenne alle zutreffenden Aussagen über die Methode binSuche(a, x, links, rechts).
Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Auswahl prüfen“.
Ein Selbstaufruf je Aufruf, immer in einem
return — endrekursiv. Bei 1000 Elementen sind es höchstens 10 Vergleiche. links > rechts meldet einen leeren Bereich: nicht gefunden.Ansatz: Wie viele Selbstaufrufe werden in einem Aufruf tatsächlich ausgeführt?
Weiter: Was bedeutet ein leerer Suchbereich?
A2
Bausteine der Methode
AFB IOrdne jede Zeile der rekursiven binären Suche ihrer Rolle zu.
Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1Abbruchbedingung
2Rekursionsschritt
3Startaufruf
4Vorbereitung im Rumpf
Zwei Abbruchfälle (leer, Treffer), zwei mögliche Selbstaufrufe — von denen in jedem Aufruf nur einer ausgeführt wird. Der Startaufruf steht in der Startmethode.
Ansatz: Welche Zeilen enthalten den Methodennamen, welche nicht?
Weiter: Der Startaufruf nutzt 0 und
a.length - 1.A3
Stimmt's? — Suche nach 20
AFB IGegeben ist int[] b = {4, 9, 15, 20, 26, 33, 38, 41, 47, 55}; und der Aufruf binSuche(b, 20, 0, 9). Lies aus der Reihung ab, ob die Aussagen stimmen.
5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann startest du die Serie mit „Neue Runde“ neu.
Auch wenn 20 weit vorn steht, braucht die binäre Suche hier 4 Aufrufe — die lineare Suche wäre mit 4 Vergleichen gleich schnell. Der Vorteil zeigt sich erst bei großen Reihungen.
Ansatz: Berechne mitte mit ganzzahliger Division.
Weiter: Notiere nach jedem Aufruf die neuen Grenzen.
