Zusammenfassung
Bis jetzt haben unsere Algorithmen Reihungen bearbeitet; eine Ausnahme hiervon bilden die Algorithmen aus dem Abschn. 4.4, die verkettete Listen bearbeitet haben. In diesem Kapitel werden wir Algorithmen untersuchen, die Bäume bearbeiten.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Und evtl. weitere Komponenten für die „Daten“, die man im Binärbaum speichern möchte.
- 2.
Oder: einen Vater, evtl.: eine Mutter.
- 3.
Eine alternative Definition ist, wenn die gleichen Schlüssel im linken Unterbaum platziert werden.
- 4.
Die Operation ⌊x⌋ rundet die Bruchzahl x auf die nächstkleinere oder gleiche Ganzzahl ab (s. auch die Java-Funktion Math.floor).
- 5.
Allerdings erhöht dies die Speicherkomplexität durch den Verbrauch von Stack.
- 6.
Diesmal ist Knoten eine innere Klasse (nicht static), deswegen nicht generisch.
- 7.
Durch die „kurzgeschlossene“ Konjunktion && wird der zweite Operand (der rekursive Aufruf) nur ausgeführt, wenn der erste Operand true ergibt, d. h. wenn die Referenz links bzw. rechts ungleich null ist.
- 8.
Diejenige ist vorzuziehen, mit der sich der Algorithmus am elegantesten formulieren lässt.
- 9.
In C++ kann man leere Bäume noch einfacher darstellen, weil dort Parameter „per Referenz“ übergeben werden können; in Java muss dies „nachgebaut“ werden.
- 10.
Nach den Entwicklern Adelson-Velskii und Landis.
- 11.
D. h. von der Wurzel über innere Knoten bis zum Blatt.
- 12.
Die Zeichnungen gelten hier nur für die linke Seite; für die rechte Seite ist die Darstellung symmetrisch.
- 13.
Eine Erweiterung von Baum und Baum.Knoten wäre möglich aber zu aufwändig.
- 14.
Eine Aufzählungsvariable vom Typ enum (seit der Java-Version 5) kann die in der Definition angegebenen Werte aufnehmen. Sein Typ erweitert java.lang.Enum.
- 15.
Eine elegantere Formulierung der Methode aus Abschn. 6.3.3.
- 16.
Die Beispiele stammen (nach Überarbeitung) aus [Sed].
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer Fachmedien Wiesbaden GmbH
About this chapter
Cite this chapter
Solymosi, A., Grude, U. (2017). Baumstrukturen. In: Grundkurs Algorithmen und Datenstrukturen in JAVA. Springer Vieweg, Wiesbaden. https://doi.org/10.1007/978-3-658-17546-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-658-17546-7_6
Published:
Publisher Name: Springer Vieweg, Wiesbaden
Print ISBN: 978-3-658-17545-0
Online ISBN: 978-3-658-17546-7
eBook Packages: Computer Science and Engineering (German Language)