Algorithmen und Datenstrukturen Elementare Datenstrukturen
Algorithmen und Datenstrukturen Elementare Datenstrukturen Algorithmen und Datenstrukturen Elementare Datenstrukturen
Rekursion – Iteration Rekursion ruft sich selbst auf enthält Abbruchbedingung Iteration wiederholtes Durchlaufen von Anweisungen Abbruch z.B. nach fest vorgegebener Durchlaufzahl oder durch erfüllte Abbruchbedingung Beispiel: Schleifen (for, while) 7 Terminierung Eine Rekursion muß genauso terminieren wie eine Iteration Bei Rekursion muß irgendwann ein Zustand erreicht werden, in dem kein weiterer rekursiver Aufruf erzeugt wird 8 4
direkt und indirekt direkte Rekursion Funktion ruft sich selbst auf indirekte Rekursion func_a() ruft func_b() auf, die wieder func_a() aufruft usw. 9 indirekte Rekursion void func_a(void) { .. func_b(); .. } void func_b(void) { .. func_a(); .. } void main(void) { .. func_a(); .. } 10 5
- Seite 1 und 2: Algorithmen und Datenstrukturen Dip
- Seite 3: Beispiele für Rekursionen Das Fer
- Seite 7 und 8: Stackframes bei Rekursion Laufzeit
- Seite 9 und 10: Merkmale der Rekursion Rekursion
- Seite 11 und 12: Beispiellösung Algorithmus zum L
- Seite 13 und 14: Frage Wie kommt man vom Problem
- Seite 15 und 16: Allgemeiner Fall (für alle Scheibe
- Seite 17 und 18: Beispiel 20 14 33 8 17 26 39 3 11 3
- Seite 19 und 20: Datenstruktur eines Knotens struct
- Seite 21 und 22: Postorder (LRW) programmiert void p
- Seite 23 und 24: Löschen im binären Suchbaum Fall
- Seite 25 und 26: Löschen im binären Suchbaum Fall
- Seite 27 und 28: Löschen im binären Suchbaum Fall
- Seite 29: Löschen im binären Suchbaum left
direkt <strong>und</strong> indirekt<br />
direkte Rekursion<br />
Funktion ruft sich selbst auf<br />
indirekte Rekursion<br />
func_a() ruft func_b() auf, die wieder<br />
func_a() aufruft usw.<br />
9<br />
indirekte Rekursion<br />
void func_a(void)<br />
{ ..<br />
func_b();<br />
..<br />
}<br />
void func_b(void)<br />
{ ..<br />
func_a();<br />
..<br />
}<br />
void main(void)<br />
{ ..<br />
func_a();<br />
..<br />
}<br />
10<br />
5