von Robert » 02.08.08 22:20
Top-Down ~ Divide & Conquer:
Zerlge Problem der Größe n in Teilprobleme, löse diese und setze sie zur gesamt Lösung zusammen. (Rekursion)
Bottom-Up ~ dynamische Programmierung
Löse Basisfälle.
Setze aus bisherigen Lösungen die Lösung für die nächste Ebene zusammen.
Bei Top-Down löst Du die Rekursion vom Problem zum Basisfall auf.
Bei Bottom-Up löst Du die Rekursion von den Basisfällen zum eigentlichen Problem.
Bsp Fib-Zahlen:
Top-Down: Berechne rekursiv Fib(n) = Fib(n-1)+Fib(n-2) mit Basisfällen Fib(0)=0 und Fib(1)=1
Bottom-Up: Berechne alle Fib-Zahlen von den Basisfällen ausgehend, bis Fib(n)
Hier: Vorteil von Bottom-Up: man berechnet jede Fib-Zahl nur ein einziges mal, während bei Top-Down gleiche Teilprobleme mehrmals gelöst werden müssen.