Skip to main content
  • 11k Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Und evtl. weitere Komponenten für die „Daten“, die man im Binärbaum speichern möchte.

  2. 2.

    Oder: einen Vater, evtl.: eine Mutter.

  3. 3.

    Eine alternative Definition ist, wenn die gleichen Schlüssel im linken Unterbaum platziert werden.

  4. 4.

    Die Operation ⌊x⌋ rundet die Bruchzahl x auf die nächstkleinere oder gleiche Ganzzahl ab (s. auch die Java-Funktion Math.floor).

  5. 5.

    Allerdings erhöht dies die Speicherkomplexität durch den Verbrauch von Stack.

  6. 6.

    Diesmal ist Knoten eine innere Klasse (nicht static), deswegen nicht generisch.

  7. 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. 8.

    Diejenige ist vorzuziehen, mit der sich der Algorithmus am elegantesten formulieren lässt.

  9. 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. 10.

    Nach den Entwicklern Adelson-Velskii und Landis.

  11. 11.

    D. h. von der Wurzel über innere Knoten bis zum Blatt.

  12. 12.

    Die Zeichnungen gelten hier nur für die linke Seite; für die rechte Seite ist die Darstellung symmetrisch.

  13. 13.

    Eine Erweiterung von Baum und Baum.Knoten wäre möglich aber zu aufwändig.

  14. 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. 15.

    Eine elegantere Formulierung der Methode aus Abschn. 6.3.3.

  16. 16.

    Die Beispiele stammen (nach Überarbeitung) aus [Sed].

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Publish with us

Policies and ethics