|
|
|||||
19.4 Das Anzeigen von Elementen |
|||||
Eine rekursive MethodeBetrachten Sie folgenden Quelltext:
17 Rekursive show()-Methode der Klasse Element Mit dieser show()-Methode kann man den Inhalt des gesamten Binärbaums in der Konsole anzeigen. Dabei werden die Zahlen geordnet ausgegeben, erst die kleinen, dann die großen. Wie funktioniert diese Methode, und warum ist der Quelltext so kurz? Analysieren wir sie Zeile für Zeile. Die Zeile if (left != null) left show(); kann folgendermaßen übersetzt werden: Wenn ein linker Teilbaum vorhanden ist, zeige diesen linken Teilbaum.
18 Ein Beispielbaum Wir wollen die Methode show() für die Wurzel (100) des in Abbildung 18 gezeigten Baumes ausführen. Zunächst wird gefragt, ob ein linker Teilbaum vorhanden ist. Das ist hier der Fall, und die Zahl 50 (eigentlich: "Das Element mit dem Wert 50") ist die Wurzel des linken Teilbaums. Also wird jetzt die show()-Methode rekursiv für den linken Teilbaum aufgerufen. |
Diese Webseite über Bäume wird nicht weiter entwickelt. Statt dessen können Sie die Buchversion des Skriptes gegen gleichwertiges Tauschmaterial oder einen kleinen Unkostenbeitrag Ivon mir erhalten. Den ersten Teil der Folge 19 können Sie hier kostenlos als PDF-Datei herunterladen. Schreiben Sie mir eine E-Mail, wenn Sie Interesse haben. Abiturienten NRWGehen Sie bitte auch auf die "offizielle" BinTree-Seite! |
||||
|
Betrachten Sie folgenden Quelltext noch einmal sehr genau:
19 Rekursive show()-Methode der Klasse Element, zum genauen Betrachten Wenn Sie sich schon öfters mit rekursiven Funktionen beschäftigt haben, müsste Ihnen die Funktionsweise dieser show()-Methode eigentlich klar sein. Haben Sie dagegen Schwierigkeiten mit rekursiven Funktionen, besuchen Sie bitte die Spezialseite zur show()-Methode, die ich für Sie - und für mich - geschrieben habe. Ich selbst habe nämlich auch immer Probleme, mir rekursive Funktionen klar zu machen, daher habe ich die Arbeitsweise der show()-Methode einmal Schritt für Schritt dokumentiert. Diese Art des Durchsuchens eines Baums trägt übrigens die Bezeichnung "inorder". Erst wird der jeweils linke Teilbaum abgearbeitet, dann wird der Wert der aktuellen Wurzel ausgegeben, und danach wird der rechte Teilbaum untersucht. Die Ausgaberoutine steht inmitten der beiden rekursiven Aufrufe, daher der Name "inorder"-Ausgabe. |
|||||
Lösungshinweise zu allen Übungen der Buchversion finden Sie in dem Lehrerband, den Sie von mir gegen einen kleinen Unkostenbeitrag erhalten können. Die Übungen der Buchversion unterscheiden sich teils erheblich von den hier veröffentlichen Übungen. Das liegt daran, dass ich die Folge 19 für die Buchversion völlig überarbeitet habe. Sehr schwere Aufgaben sind ganz herausgenommen worden, einige Aufgaben sind umformuliert worden, bei einigen Aufgaben wurde das Bewertungsschema angepasst, weil ich nämlich beim Lösen erst selbst gemerkt habe, wie schwer manche Aufgaben in Wirklichkeit sind, und einige Aufgaben sind auch ganz neu dazugekommen. |
Diese Webseite über Bäume wird nicht weiter entwickelt. Statt dessen können Sie die Buchversion des Skriptes gegen gleichwertiges Tauschmaterial oder einen kleinen Unkostenbeitrag Ivon mir erhalten. Schreiben Sie mir eine E-Mail, wenn Sie Interesse haben. Die Lösungen zu den Übungen finden Sie in dem Lehrerband, den ich zur Zeit erarbeite. |
||||
und weiter mit Folge 19 - Binärbäume, Teil 4 |
|||||
|
Diese HTML-Seite wurde erstellt von Ulrich Helmich am 19. April 2006 |
|||||