Präsentation herunterladen
Veröffentlicht von:Rein Kassen Geändert vor über 10 Jahren
1
SWE1 / Übung 10 ( ) Rekursion Binärbäume
2
Rekursion – Definition und Eigenschaften
Methode, die sich selbst aufruft Rekursion umfasst immer Abbruchbedingung(en) (Rekursionsanker: Ausstieg/Rückkehr aus der Rekursion) Rekursive(n) Aufruf(e) Indirekte Rekursion Zwei oder mehrere Methoden rufen sich gegenseitig auf Nur eine dieser Methoden muss eine Abbruchbedingung bereitstellen Meist ineffizienter als iterative Lösung Oft klarer als iterative Lösung Fibonacci fib(n) = f(n-1) + f(n-2) für n>=2 f(0) = 0 und f(1) = 1 REKURSIONSANKER Fakultät Fak(n) { wenn n<=1 dann return 1; REKURSIONSANKER sonst (n * Fak(n-1)); Ineffizienz, zb. Speicherbedarf da alle lokalen Variablen gesichert werden müssen (Stack); bei Rückkehr/Aufstieg aus der Rekursion müssen diese dann restauriert werden; Speicherbedarf: Speicher lokaler Variablen * Anzahl (max.) Rekursionsschritte.
3
Rekursive Algorithmen: Grundstruktur
Rekursion(){ if (Abbruchbedingung){ –– Rekursionsanker löse einfaches Problem; gib Ergebnis zurück; } else { –– rekursiver Aufruf zerlege Problem in einfachere(s) Problem(e) und rufe Rekursion() für diese(s) kleinere(n) Problem(e) auf; vereinige einfachere Lösung(en); } Fibonacci fib(n) = f(n-1) + f(n-2) für n>=2 f(0) = 0 und f(1) = 1 REKURSIONSANKER Fakultät Fak(n) { wenn n<=1 dann return 1; REKURSIONSANKER sonst (n * Fak(n-1)); Ineffizienz, zb. Speicherbedarf da alle lokalen Variablen gesichert werden müssen (Stack); bei Rückkehr/Aufstieg aus der Rekursion müssen diese dann restauriert werden; Speicherbedarf: Speicher lokaler Variablen * Anzahl (max.) Rekursionsschritte.
4
Binärer Suchbaum Ein Binärbaum ist entweder leer oder er besteht aus einem Knoten dem ein Element und zwei binäre Bäume zugeordnet sind (rekursive Definition) Bei einem Binären Suchbaum sind die Elemente sortiert: Alle Elemente im linken Teilbaum eines Knoten sind kleiner als das Knotenelement, alle Elemente im rechten Teilbaum sind größer (oder gleich) als das Knotenelement < 4 >
5
Binärer Suchbaum Binärbaum: Knoten K mit zugeordnetem E und zwei binären Bäumen B1 und B2 (rekursive Definition) B K B2 B1 E B K E B K E
6
Traversierung Pre Order (Wurzel, links, rechts)
In Order (links, Wurzel, rechts) Post Order (links, rechts, Wurzel) Linz Graz Wels Enns Lienz < 6 >
7
Überlegungen zur Implementierung
Operationen auf Bäume Anlegen eines Baumes Einfügen von Knoten Suchen von Knoten Traversierung (Löschen von Knoten) Aufteilung Funktionalität Baum hat Verweis auf Wurzelknoten Einfügen, Suchen von Knoten Traversierung Löschen von Knoten Knoten hat Verweis auf linken und rechten Teilbaum kennt Inhalt (Element) < 7 >
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.