Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:adt:baeume:breitensuche:start [14.02.2022 16:21] – [Von der Rekursion zur Iteration] sbel | faecher:informatik:oberstufe:adt:baeume:breitensuche:start [18.01.2024 07:31] (aktuell) – [Suche im Baum] Marco Kuemmel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Levelorder Traversierung, | ====== Levelorder Traversierung, | ||
- | Bei den drei rekursiv implementierbaren Traversierungen wird der Baum zuerst in die Tiefe durchwandert bis hin zu seinen Blättern (" | + | Bei den drei rekursiv implementierbaren Traversierungen wird der Baum zuerst in die Tiefe durchwandert bis hin zu seinen Blättern (" |
- | {{ : | + | {{ : |
Bei der Levelorder Traversierung werden auf jedem Niveau des Baums erst alle Knoten besucht, bevor auf das nächste Niveau gewechselt wird, in unserem Beispielbaum ergibt sich damit die Traversierungsreihenfolge: | Bei der Levelorder Traversierung werden auf jedem Niveau des Baums erst alle Knoten besucht, bevor auf das nächste Niveau gewechselt wird, in unserem Beispielbaum ergibt sich damit die Traversierungsreihenfolge: | ||
+ | |||
+ | In diesem Wiki-Abschnitt wollen wird zunächst die Rekursiven Traversierungen iterativ umschreiben, | ||
===== Iterative Traversierung ===== | ===== Iterative Traversierung ===== | ||
Zeile 41: | Zeile 43: | ||
===== Suche im Baum ===== | ===== Suche im Baum ===== | ||
+ | {{: | ||
+ | === (A1) Tiefensuche | ||
+ | |||
+ | Arbeite mit der folgenden Bluej-Vorlage: | ||
+ | |||
+ | <WRAP center round tip 95%> | ||
+ | Du kannst in der Klasse " | ||
+ | </ | ||
+ | |||
+ | |||
+ | * Implementiere zunächst den Stack, so dass du anschließend die Knoten des Baums verwalten kannst. Schlage, wenn nötig, auf den [[faecher: | ||
+ | * Implementiere dann eine iterative Traversierung des Baums. Gelingt es dir, Pre-, In- und Postorder Traversierung zu implementieren? | ||
+ | * Erweitere deine Traversierung zu einer Tiefensuche, | ||
+ | * einen Knoten eines bestimmten Wertes findet | ||
+ | * den ersten Knoten findet, dessen Wert zwischen den an die Suchmethode zu übergebenden Parametern '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A2) Breitensuche | ||
+ | |||
+ | * Implementiere zunächst die nötige Queue, so dass du anschließend die Knoten des Baums verwalten kannst. Schlage, wenn nötig, auf den [[faecher: | ||
+ | * Implementiere dann die Level-Order-Traversierung des Baums. Gelingt es dir, die Traversierung von links nach rechts und andersherum zu implementieren? | ||
+ | * Erweitere deine Traversierung zu einer Breitensuche, | ||
+ | * einen Knoten eines bestimmten Wertes findet | ||
+ | * den ersten Knoten findet, dessen Wert zwischen den an die Suchmethode zu übergebenden Parametern '' | ||
===== Material ===== | ===== Material ===== | ||