Apa itu Rekursi Java?
Skenario di mana suatu fungsi atau metode memanggil dirinya sendiri dikenal sebagai rekursi dan fungsi atau metode tersebut dikenal sebagai fungsi rekursif atau metode rekursif. Pendekatan ini selalu digunakan untuk memecah permasalahan yang kompleks menjadi permasalahan yang sederhana dan mudah untuk ditulis. Contoh sederhananya adalah dengan menempatkan dua cermin di depan satu sama lain dan keduanya akan mulai memantulkan satu sama lain secara rekursif yang dapat Anda lihat dengan mudah.Rekursi Tidak Langsung
Contoh di atas mewakili rekursi tidak langsung , yaitu fungsi satu memanggil fungsi dua dan fungsi dua memanggil fungsi satu.Rekursi Langsung
Ketika suatu metode memanggil dirinya sendiri lagi dan lagi, hal ini disebut rekursi langsung .Kondisi Menghentikan
Sekarang Anda akan berpikir jika suatu metode memanggil dirinya sendiri lagi dan lagi, maka pasti metode tersebut akan menghadapi kesalahan Stack Overflow . Ya, Anda benar, seperti perulangan tak terbatas, hal itu bisa berubah menjadi rekursi tak terbatas. Kita harus menyediakan kondisi dasar atau kondisi terminasi untuk menghentikan rekursi tak terbatas ini, yang dikenal sebagai kondisi penghentian, dan kondisi ini selalu disediakan di dalam metode rekursi, yang akan kita lihat secara detail pada contoh di bawah.Contoh Rekursi
class Recursion {
static int factorial( int n ) {
// base condition or termination condition
if (n != 0)
// here we are calling the recursive method
return n * factorial(n-1);
else
return 1;
}
public static void main(String[] args) {
// initializing the variables
int number = 5, result;
result = factorial(number);
System.out.println(number + " factorial = " + result);
// changing the value from 5 to 10
number = 10;
result = factorial(number); // recursive function call
System.out.println(number + " factorial = " + result);
}
}
Contoh Keluaran
5 faktorial = 120 10 faktorial = 3628800
Dalam contoh metode berulang ini kita memiliki fungsi faktorial yang dipanggil dari metode utama. Kita melewatkan nilai 5 untuk melihat berapa faktorialnya, yaitu 120. Fungsi faktorial ini memanggil dirinya sendiri lagi dengan meneruskan nilai 4, yang kembali memanggil dan meneruskan nilai 3, dan seterusnya, hingga kondisi terhenti. terpenuhi, yaitu nilai 0. Hal yang sama terjadi ketika kita mengubah nilainya dari 5 menjadi 10.
GO TO FULL VERSION