İTERATİF VE REKURSİF FONKSİYONLAR
İteratif fonksiyonlar ve rekürsif fonksiyonları öncelikle
kısaca hatırlıyalım daha sonra ise
bunlarla ilgili örnekler çözelim
İteratif fonksiyonlar:
İteratif fonksiyona kısaca basit,hantal ya da kendisine
verilen görevi yerine getireye çalışan fonksiyonlar diyoruz yani sadece verilen
işi yapar geriye bir şey döndürmeyen fonksiyon grupları diyebiliriz bunda normal kodlamada yaptığımız
işlemlerdir ancak kimi yerde rekürsif
kimi yerde ise iteratifi kullanmak daha avantajlıdır zaten Algoritma analizi
dersinide bunun için alıyoruz
Şunuda bilmekte yarar var ki mecbur kalmadıkca Rekürsif
fonksiyonlara tercih etmemek en iyisidir çünkü Algoritma analalizinde bilinen
iki önemli kıstas vardır 1-)Zaman 2-)Hafıza
bunun içindir ki iteratif fonksiyonlar basit olmasından dolayı rekürsif
fonksiyonlara göre daha hızlı çalışır ve daha az yer kaplamaktadır
Rekürsif Fonksiyonlar
Rekürsif fonksiyonlar Dinamik programlama diyebiliriz yani kendisini kullanarak sonuç
bulan fonksiyon örneğidir
Rekürsif fonksiyonlardan olmazsa olmaz 3 şartları:
1-)Başlangıç değerleri
2-)Bitiş değeri
3-)adım değerleri
ÖRNEK: Faktöriyelin
hesabını Rekürsif ile yapalım
{
1 n=0 }
F(n)=
{n*f(n-1) }
Örnek 91! İşlemini yapalım
{1 n=0 }
F(98)=
{98*F(97) }
ÖNEMLİ NOT:Rekürsif fonksiyondan iteratif fonksiyona geçiş
sağlandığında sonuça daha çok yaklaşırız ve gerek çözümleme gereksede
Bilgisayar kodlaması daha kolay bir işlemdir
Rekürsif Fonksiyonlar ve İteratif Fonksiyonlar Bilgisayar kodu:
8
9
10
11
12
13
14
15
16
|
//recursive Faktoriyel Hesaplama
public int FaktoriyelRecursive(int n)
{
if (n <=
1) // Sonlandırma şartı
return
1;
return n *
FaktoriyelRecursive(n - 1); // 1 azaltarak kendini çağrıyor
}
//iteratif Faktoriyel Hesaplama
public int FaktoriyelIteratif(int n)
{
int sonuc = 1;
for(int i = 1; i <= n; i++)
sonuc
*= i;
return sonuc;
}
|
Hiç yorum yok:
Yorum Gönder