Özet - Fibonacci
- Algoritmalar kursu
- Başlangıç
- Ders 44/80
- 4 dk
İlk n Fibonacci sayısını yazdıran mini görev yaparsın.
Özet - Fibonacci
Bu grupta Fibonacci dizisini, recursive tanımını, taban durumlarını ve tekrar sorununu öğrendin. Naive çözüm O(2^n)'dir.
Fibonacci, recursion'ın gücünü ve zayıflığını gösterir: okunaklı ama tekrar tekrar hesaplama yapar. Memoization bunu çözer.
Uygulama Fibonacci (döngü)
fib_iter(n) yaz. Döngü ile Fibonacci hesapla. print(fib_iter(7)) ile 13 yazdır.
Başlangıç kodu
def fib_iter(n):
# Döngü ile FibonacciÖrnek çözüm
def fib_iter(n):
# Döngü ile Fibonacci
if n < 2:
return n
a = 0
b = 1
for i in range(2, n + 1):
a, b = b, a + b
return b
print(fib_iter(7))Beklenen çıktı
13
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Özet - Fibonacci: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
Fibonacci |
Önceki iki toplamı |
F(0)=0 |
Taban |
F(1)=1 |
İkinci taban |
O(2^n) |
Naive |
2 Fibonacci formülü
F(n) = F(n-1) + ____
F(n) = F(n-1) + F(n-2)
Açıklama: F(n-2) doğru.
3 Naive recursive Fibonacci'nin karmaşıklığı nedir?
- O(n)
- O(n log n)
- O(2^n) Doğru cevap
- O(n^2)
Açıklama: O(2^n) üsteldir.