Rekürsif algoritmalarımızın tekrar eden hesaplamalarını hesaplamak yerine önceden hesaplamış olduğu değerler içerisinden kullanan programalamadır. Daha hızlı çalışmaktadır fakat hesaplanan değerleri tutmak için ekstra alan gerekir.
![](https://dogukanhan.com/wp-content/uploads/2019/04/1280px-Fibonacci_Tree_5.svg_-1024x722.png)
Yukarıda yer alan fibonacci ağaç yapasında, 1, 2 ve 3 değerlerinin tekrardan kullanıldığını görülebilir. Her seferinde tekrardan bu değerlerin hesaplanması yerine hesaplanan değerleri tutarak bir sonrakı gereken yerde tuttuğumuz yerden kullanmamızdır.