Woche 12: Exceptions & Binäre Suchbäume
Nach dieser Woche können Sie …
- eine Exception abfangen
- Exceptions werfen
- neue Operationen für binäre Suchbäume implementieren
- erklären, wann die Suche in einem binären Suchbaum schnell ist
Beim Programmieren stoßen wir öfter auf Situationen, wo wir mit fehlerhaften Eingaben umgehen können müssen. Bisher stürzt in vielen Fällen unser Programm einfach ab, z. B. wenn wir Double.parseDouble("zwei")
aufrufen. Wie wir solche Eingabefehler behandeln können, schauen wir uns diese Woche an. Außerdem gucken wir uns an, wie wir selbst signalisieren können, dass z. B. eine Methode mit ungültigen Parametern aufgerufen worden ist, wie z. B. List.get(-1)
.
Ausgestattet mit dem Wissen zu Fehlerbehandlung und Typhierarchien schauen wir uns dann noch eine weitere Datenstruktur an, die Daten automatisch sortiert abspeichert. Dadurch ist die Suchgeschwindigkeit im Durchschnitt besser ist als bei Arrays. Beim Thema Suchbäume werden uns auch Rekursion und Referenzen wieder begegnen.
Falls Sie die Themen dieser Woche nochmal in der Literatur nachlesen wollen:
- Exceptions: Abschnitte 8.1, 8.2.2, 8.3, 8.4, 8.5, 8.6.1, 8.6.2 in Java ist auch eine Insel
- Binäre Suchbäume: Abschnitte Binary search trees, Performance characteristics of BST und Traversing a BST in Introduction to Programming in Java
Vorlesung
Exceptions & asserts
Suchen Sie den Code zur Listen-Übungsaufgabe raus. Schreiben Sie die Methode get(int)
so um, dass sie eine IndexOutOfBoundsException
wirft, wenn der übergebene Index ungültig ist.
Binäre Suchbäume
Schreiben Sie eine Methode, die die zweitgrößte Zahl im Baum zurückgibt. Achten Sie auf Sonderfälle („besondere“ Baumformen).
zum Knobeln:
- Implementieren Sie eine iterative Variante von
toString
. (Tipp: Eine Liste/Stack ist wahrscheinlich nützlich.) - Ergänzen Sie die Baum-Klasse um eine Methode, die den Baum „in Baumform“ ausgeben kann, also z. B. so:
.......5.......
...3.......7...
.1...4...6...8.
0.2...........9
🗃️ Selbsttests
4 Einträge
🗃️ Zusatzvideos
1 Einträge
🗃️ Videos für Profis
3 Einträge