Fonksiyon çağrılarının sayısını hesapla
Klasik bir özyineleme (recursion) örneğini ele alalım: 0'dan başlayan ve her bir elemanı \(F(n)\) önceki iki elemanın toplamına eşit olan Fibonacci dizisi: 0, 1, 1, 2, 3, 5, 8, 13, 21, .... Sana, dizinin \(n\)'inci elemanını ve kullanılan fib() çağrılarının sayısını döndüren bir fonksiyon verildi:
def fib(n):
if n < 2:
return (n, 1)
fib1 = fib(n-1)
fib2 = fib(n-2)
return (fib1[0] + fib2[0], fib1[1] + fib2[1] + 1)
Dizinin \(15^{th}\) ve \(20^{th}\) elemanlarını hesaplamak için kaç adet fib() çağrısı gerekir?
Bu egzersiz, kursun bir parçasıdır
Python ile Kodlama Mülakatı Soruları Pratiği
Uygulamalı etkileşimli egzersiz
Teoriyi etkileşime dönüştürün, interaktif egzersizlerimizden biriyle
Egzersize başla