Algorithmen und Datenstrukturen Elementare Datenstrukturen

Algorithmen und Datenstrukturen Elementare Datenstrukturen Algorithmen und Datenstrukturen Elementare Datenstrukturen

06.11.2013 Aufrufe

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

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!