CodeBlanks Logo Icon CodeBlanks

Taban durum

Recursion'ı durduran taban durumun zorunlu olduğunu öğrenirsin.

Taban durum seçimi

Taban durum, problemin en küçük versiyonunu doğrudan çözer. Doğru taban durum seçmek, recursion'ın doğru çalışmasını sağlar.

Örneğin n! hesabında taban durum 0! = 1'dir. Toplam hesabında taban durum boş dizide 0 döndürmektir.

Özyineleme adımı

Özyineleme adımı, problemi daha küçük bir versiyona indirger ve fonksiyonu bu küçük versiyonla çağırır. Her çağrı taban duruma yaklaşır.

Örneğin sum(n) = n + sum(n-1). Her çağrı n'yi azaltır ve sonunda taban duruma (n=0) ulaşır.

Uygulama Toplam (recursive)

sum_recursive(n) yaz. n=0 ise 0, değilse n + sum_recursive(n-1) döndür. print(sum_recursive(5)) ile 15 yazdır.

Başlangıç kodu

solution.py
def sum_recursive(n):
    # Toplamı hesapla

Örnek çözüm

solution.py
def sum_recursive(n):
    # Toplamı hesapla
    if n == 0:
        return 0
    return n + sum_recursive(n - 1)
print(sum_recursive(5))

Beklenen çıktı

15

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Taban değer

Soru
0! = ____ olarak tanımlanır.
Cevap
0! = 1 olarak tanımlanır.

Açıklama: 1 doğru.

2 Taban durum: kavramları eşleştir

Kavram Anlamı
Taban durum Durdurur
Özyineleme Küçültür
0! = 1 Taban
n! = n*(n-1)! Özyineleme

3 Taban durum olmazsa ne olur?

  • Hemen biter
  • Sonsuz çağrı ve yığın taşması Doğru cevap
  • Hızlı çalışır
  • Döngü olur

Açıklama: Sonsuz çağrı ve yığın taşması olur.

Başlangıç bölümündeki tüm dersler