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.
</figure>
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.