C Özyineleme (Özyinelemeli işlev)

İçindekiler

Bu eğitimde, bir örnek yardımıyla C programlamada özyinelemeli fonksiyonlar yazmayı öğreneceksiniz.

Kendini çağıran bir işlev, özyinelemeli bir işlev olarak bilinir. Ve bu teknik, özyineleme olarak bilinir.

Özyineleme nasıl çalışır?

 void recurse () (… recurse ();…) int main () (… recurse ();…)

Özyineleme, onu önlemek için bazı koşullar karşılanana kadar devam eder.

Sonsuz özyinelemeyi önlemek için, if… else ifadesi (veya benzer bir yaklaşım), bir dalın özyinelemeli arama yaptığı ve diğerinin yapmadığı durumlarda kullanılabilir.

Örnek: Özyineleme Kullanan Doğal Sayıların Toplamı

 #include int sum(int n); int main() ( int number, result; printf("Enter a positive integer: "); scanf("%d", &number); result = sum(number); printf("sum = %d", result); return 0; ) int sum(int n) ( if (n != 0) // sum() function calls itself return n + sum(n-1); else return n; ) 

Çıktı

 Pozitif bir tam sayı girin: 3 toplam = 6

Başlangıçta, argüman olarak iletilen sayı ile işlevden sum()çağrılır main().

Diyelim ki, n içindeki değer sum()başlangıçta 3. Sonraki işlev çağrısı sırasında, işleve 2 geçirilir sum(). Bu süreç n, 0'a eşit olana kadar devam eder.

N, 0'a eşit olduğunda, ifkoşul başarısız olur ve elseparça, tam sayıların toplamını sonuçta main()işleve döndürerek yürütülür .

Özyinelemenin Avantaj ve Dezavantajları

Özyineleme, programı zarif kılar. Bununla birlikte, performans hayati önem taşıyorsa, özyineleme genellikle çok daha yavaş olduğundan döngüleri kullanın.

Bununla birlikte, özyineleme önemli bir kavramdır. Veri yapısı ve algoritmalarda sıklıkla kullanılır. Örneğin, ağaç geçişi gibi problemlerde özyinelemenin kullanılması yaygındır.

Ilginç makaleler...