CodeBlanks Logo Icon CodeBlanks

Recursion nedir?

Bir fonksiyonun kendini çağırmasına recursion dendiğini öğrenirsin.

Recursion nedir?

Recursion, bir fonksiyonun kendini çağırmasıdır. Bir problemi daha küçük aynı problemlere bölerek çözmeyi sağlar.

Her recursive fonksiyon iki parçaya sahiptir: taban durum (durdurma koşulu) ve özyineleme adımı (kendini çağırma).

Taban durum

Taban durum, recursion'ın durduğu koşuldur. Olmazsa fonksiyon sonsuza kadar kendini çağırır ve yığın taşması oluşur.

Taban durum, en küçük problemi doğrudan çözer. Örneğin countdown(0)'da taban durum '0 ise dur' olabilir.

Uygulama Geri sayım

countdown(n) yaz. n'i yazdır, n > 0 ise countdown(n-1) çağır. countdown(3) çağrısı 3, 2, 1 yazsın.

Başlangıç kodu

solution.py
def countdown(n):
    # Geri say

Örnek çözüm

solution.py
def countdown(n):
    # Geri say
    print(n)
    if n > 0:
        countdown(n - 1)
countdown(3)

Beklenen çıktı

3
2
1

Soru ve cevaplar

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

1 Recursion nedir?

  • Bir sıralama algoritması
  • Bir döngü türü
  • Bir veri yapısı
  • Bir fonksiyonun kendini çağırması Doğru cevap

Açıklama: Recursion bir fonksiyonun kendini çağırmasıdır.

2 Taban durum

Soru
Recursion'ı durduran koşul: ____
Cevap
Recursion'ı durduran koşul: taban durum

Açıklama: taban durum doğru.

3 Recursion nedir: kavramları eşleştir

Kavram Anlamı
Recursion Kendini çağırır
Taban durum Durdurur
Özyineleme Küçültür
Yığın taşması Sonsuz çağrı

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