Bölüm 12 · SimülasyonÖzyineleme Görselleştirici? ← Bölüm 12 Çağrı yığını (üst = çalışan) Özyineleme ağacı çalışanyığındataban durumbellektenÇıktı KapatÖzyineleme GörselleştiriciAmaç: Özyinelemeli bir metodun kendini nasıl çağırdığını, her çağrının çağrı yığınında ayrı bir çerçeve açtığını, taban durumda özyinelemenin durduğunu ve dönüş değerlerinin çağırana doğru yukarı taşındığını görmek.Nasıl kullanılır?Metodu ve parametreleri seçin. Adım ▶ her çağrıyı, taban durumu ve her dönüşü ayrı ayrı gösterir; Geri, Oynat, Sıfırla ve hız ayarı vardır (klavye: → / ←).Sağ üstte çağrı yığını: yeni çerçeve üste eklenir (push), return ile yeşil olur ve bir sonraki adımda çıkarılır (pop). Askıdaki çerçeve neyi beklediğini gösterir (ör. 4 * faktoriyel(3) = ?).Altta özyineleme ağacı: her düğüm bir çağrıdır; dönen değer düğümün altında yazar.Fibonacci'de Bellekleme kutusunu açın: hesaplanan değerler bellek dizisine yazılır, aynı çağrı yeniden geldiğinde alt ağaç açılmaz. Soldaki tablo iki sürümün çağrı sayısını karşılaştırır.Kendini dene: her (taban olmayan) dönüşte değeri, Hanoi'de ise yazılacak hamleyi (ör. A->C) tahmin edin.HatırlatmaHer özyinelemeli metodun iki zorunlu parçası vardır: taban durum ve sorunu küçülterek kendini çağıran özyinelemeli durum.Belleklemesiz fib(n) aynı alt problemleri defalarca hesaplar: çağrı sayısı 2·fib(n+1) − 1; belleklemeli sürümde 2n − 1.Hanoi'de n disk için 2n − 1 hamle yazılır.İlgili sunum: Bölüm 12 · Özyineleme (Özyinelemeli Faktöriyel, Hanoi Kuleleri, Özyinelemeli Üs, Çağrı Yığını, Fibonacci Sorunu, Memoization).