Rekursion: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Lgkf (Diskussion | Beiträge) K (Muss ins Bett!) |
(Fakultät iterativ zu lösen) |
||
Zeile 10: | Zeile 10: | ||
die Rechenvorschrift besagt, daß die Fakultät von n 1 ist, wenn n == 1 ist, sonst muss n mit der Fakultät von (n -1) multipliziert werden. | die Rechenvorschrift besagt, daß die Fakultät von n 1 ist, wenn n == 1 ist, sonst muss n mit der Fakultät von (n -1) multipliziert werden. | ||
Das funktioniert tadellos, braucht aber viel Stack-Space. | Das funktioniert tadellos, braucht aber viel Stack-Space, weshalb die Fakultät entgegen des Eindrucks, den die fortwährende Erwähnung als Paradebespiel für Rekursion erweckt, eleganter und billiger iterativ lösbar ist. | ||
==Weblinks== | ==Weblinks== | ||
* [http://de.wikipedia.org/wiki/Rekursion Wikipedia:Rekursion] | * [http://de.wikipedia.org/wiki/Rekursion Wikipedia:Rekursion] |
Version vom 19. März 2004, 08:10 Uhr
bitte unter Rekursion nachschauen.
rekursiv bedeutet: 'auf sich selbst bezogen'.
Gemeint ist z.B. folgendes:
die 'Fakultät' ist das Produkt einer Zahl mit allen ihren Vorläufern bis 1.
in einer Sprache wie Lisp, die rekursive Definitionen zulässt, kann die Fakultät so definiert werden:
(defun fak(n) (if (eq n 1) 1 (mul n (fak (sub1 n)))))
die Rechenvorschrift besagt, daß die Fakultät von n 1 ist, wenn n == 1 ist, sonst muss n mit der Fakultät von (n -1) multipliziert werden. Das funktioniert tadellos, braucht aber viel Stack-Space, weshalb die Fakultät entgegen des Eindrucks, den die fortwährende Erwähnung als Paradebespiel für Rekursion erweckt, eleganter und billiger iterativ lösbar ist.