Java Özyinelemesi: Özyinelemeli Yöntemler (Örneklerle)

Bu eğitimde, Java yinelemeli işlevi, avantajları ve dezavantajları hakkında bilgi edineceksiniz.

Java'da, kendini çağıran bir yöntem, özyinelemeli bir yöntem olarak bilinir. Ve bu süreç özyineleme olarak bilinir.

Fiziksel bir dünya örneği, iki paralel aynayı birbirine bakacak şekilde yerleştirmek olacaktır. Aralarında bulunan herhangi bir nesne özyinelemeli olarak yansıtılır.

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

Java Özyinelemesinin Çalışması

Yukarıdaki örnekte, recurse()yöntemi yöntemin içinden çağırdık main. (normal yöntem çağrısı). Ve recurse () yönteminin içinde, yine aynı recurse yöntemini çağırıyoruz. Bu yinelemeli bir aramadır.

Özyinelemeli çağrıyı durdurmak için, yöntem içinde bazı koşullar sağlamamız gerekir. Aksi takdirde, yöntem sonsuza dek çağrılacaktır.

Bu nedenle, yöntem içindeki özyinelemeli çağrıyı sonlandırmak için if… else ifadesini (veya benzer yaklaşımı) kullanırız.

Örnek: Özyineleme Kullanan Sayının Faktöriyeli

 class Factorial ( static int factorial( int n ) ( if (n != 0) // termination condition return n * factorial(n-1); // recursive call else return 1; ) public static void main(String() args) ( int number = 4, result; result = factorial(number); System.out.println(number + " factorial = " + result); ) )

Çıktı :

 4 faktöriyel = 24

Yukarıdaki örnekte, adında bir yöntemimiz var factorial(). factorial()Çağrılır main()yöntem. argüman olarak geçirilen sayı değişkeni ile.

Burada ifadeye dikkat edin,

 return n * factorial(n-1);

factorial()Yöntem, kendisi aradığını. Başlangıçta n'nin değeri 4 içindedir factorial(). Bir sonraki özyinelemeli çağrı sırasında, factorial()yönteme 3 geçirilir . Bu süreç n, 0'a eşit olana kadar devam eder.

N 0'a eşit olduğunda, ififade yanlış döndürür , dolayısıyla 1 döndürülür. Son olarak, biriken sonuç main()yönteme aktarılır .

Faktoriyel Programın Çalışması

Aşağıdaki resim, faktöryel programın özyineleme kullanılarak nasıl yürütüldüğü konusunda size daha iyi bir fikir verecektir.

Özyineleme Kullanan Faktoriyel Program

Özyinelemenin Avantaj ve Dezavantajları

Özyinelemeli bir çağrı yapıldığında, değişkenler için yeni depolama konumları yığın üzerinde tahsis edilir. Her özyinelemeli çağrı döndüğünde, eski değişkenler ve parametreler yığından kaldırılır. Bu nedenle, özyineleme genellikle daha fazla bellek kullanır ve genellikle yavaştır.

Öte yandan, özyinelemeli bir çözüm çok daha basittir ve yazmak, hata ayıklamak ve sürdürmek daha az zaman alır.

Önerilen Kaynaklar: Özyinelemenin avantajları ve dezavantajları nelerdir?

Ilginç makaleler...