Rekursion: Unterschied zwischen den Versionen

Aus HeiseForenWiki
Zur Navigation springen Zur Suche springen
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, 09: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.


Weblinks