Taban durum
- Algoritmalar kursu
- Başlangıç
- Ders 38/80
- 4 dk
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
def sum_recursive(n):
# Toplamı hesaplaÖrnek çözüm
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
0! = ____ olarak tanımlanır.
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.