Java Recursion

sametklou

Java Recursion

Java'da rekürsif (recursive) fonksiyonlar kullanarak bir döngüyü tekrarlamak mümkündür. Rekürsif fonksiyonlar, kendisini çağırarak ve işlemi tekrarlayarak çözüm üretirler. Bu konsept, özellikle yapısınıza derinlik katmak ve verileri düzgün şekilde işlemek için oldukça kullanışlıdır.

Rekürsif Fonksiyon Nasıl Yazılır?

Rekürsif fonksiyonlar, kendilerini çağırarak çalışırlar. Bu nedenle, bir koşulu kontrol ederek ve kendisini çağırarak tekrarlamalıdırlar. Örneğin, faktöriyel hesaplama işlemi için bir rekürsif fonksiyon şu şekilde yazılabilir:

public int factoriyel(int n) {
    if (n == 0) {
        return 1;
    } else {
        return n * factoriyel(n-1);
    }
}

Yukarıdaki örnek, faktöriyel hesaplama işlemini gerçekleştirir. Eğer sayı 0'a eşitse, 1 döndürür. Değilse, kendisini n-1 ile tekrar çağırarak sonucu hesaplar.

Örnek Uygulama

Aşağıdaki örnek, Fibonacci serisini hesaplayan bir rekürsif fonksiyon içermektedir:

public int fibonacci(int n) {
    if (n <= 1) {
        return n;
    } else {
        return fibonacci(n-1) + fibonacci(n-2);
    }
}

Bu örnekte, Fibonacci serisini hesaplayan fonksiyon kendisini iki kez çağırarak işlemi gerçekleştirir.

Java'da rekürsif fonksiyonlar, bazen daha karmaşık ve verimli çözümler üretmek için kullanılabilir. Ancak gereksiz yere çok fazla çağrı yapılması durumunda performans sorunları yaşanabilir. Bu nedenle, rekürsif fonksiyonları tasarlarken dikkatli olmak önemlidir.