İçeriğe atla
CodeItRaw
Özyineleme & Böl-Yönet

Ders 1/3

Özyineleme, bir problemi aynı problemin daha küçüğüne havale etmektir. 5 basamaklı bir merdivenin kaç basamak olduğunu şöyle de sayabilirsin: bir basamak, artı kalan 4 basamaklı merdiven. Fonksiyon kendi işinin küçük bir parçasını yapar, gerisi için kendini çağırır.

def total(n):
if n == 0:
return 0
return n + total(n - 1)
İki parça var ve ikisi de şart. Taban durumu (n == 0) cevabı doğrudan verir ve zinciri durdurur. Adım problemi küçültür (n - 1) ve küçüğün cevabının üstüne kendi payını koyar.

Okurken çağrıları kâğıda alt alta yaz: total(3) bekler, total(2) bekler, total(1) bekler, total(0) 0 döner; sonra cevaplar aşağıdan yukarı toplanır: 1, 3, 6. Her çağrı kendi n değerini taşır; birbirlerine karışmazlar.

Görevler

Görevler sırayla açılır. Hepsini çözünce sonraki ders açılır.

Bu dersin görevleri, önceki dersler bitince açılır. Anlatımı şimdiden okuyabilirsin.

  1. 01

    Kendini Çağıran

    Kod Okuma · Çıktıyı Tahmin Et

  2. 02

    Üs Alma

    Kod Okuma · Hatayı Bul

Sırayı beklemeden çözmek istersen bütün problemler kilitsiz açık: Problemler listesi