Lösungen Dynamisches Programmieren
Aus ProgrammingWiki
Archivierte Version vom 2009-05-25T11:35:26+00:00. Aktuelle Version
Inhaltsverzeichnis |
Lösungen zu Fibonacci
Die ersten 2 Lösungen sind bereits aus der Vorlesung bekannt, werden hier aber der Vollständigkeit wegen nochmal aufgeführt.
Fibonacci ohne Memoizing
<eval> System.out.println(""+fib(11)); </eval>
Fibonacci mit Memoizing
<eval> System.out.println(""+fibMemo(250)); </eval>
Iterative Lösung von Fibonacci
Wie bereits erwähnt, ist ein wenig Denkaufwand erforderlich um auf die iterative Lösung zu kommen. Dabei wird der Wert Top-Down mit Hilfe einer for-Schleife berechnet. Da zum berechnen von fib(n) nur fib(n-1) und fib(n-2) benötigt wird, müssen auch nur diese Werte zwischen gespeichert werden. Der aufmerksame Leser wird sich an das Rucksackproblem erinnern in dem wir genauso verfahren sind.
Mithilfe dieser Informationen kommt man nun auf folgendes Ergebnis:
<eval> System.out.println(fibIterativ(200)); </eval>