Java Recursion: Kaedah Recursive (Dengan Contoh)

Dalam tutorial ini, anda akan belajar mengenai fungsi rekursif Java, kelebihan dan kekurangannya.

Di Jawa, kaedah yang menyebut dirinya dikenali sebagai kaedah rekursif. Dan, proses ini dikenali sebagai rekursi.

Contoh dunia fizikal ialah meletakkan dua cermin selari yang saling berhadapan. Setiap objek di antara mereka akan dipantulkan secara berulang.

Bagaimana Rekursi berfungsi?

Mengendalikan Java Recursion

Dalam contoh di atas, kami telah memanggil recurse()kaedah dari dalam mainkaedah. (panggilan kaedah biasa). Dan, di dalam kaedah recurse (), kita sekali lagi memanggil kaedah recurse yang sama. Ini adalah panggilan berulang.

Untuk menghentikan panggilan berulang, kita perlu memberikan beberapa syarat dalam kaedah ini. Jika tidak, kaedah itu akan dipanggil tanpa had.

Oleh itu, kami menggunakan pernyataan if… else (atau pendekatan serupa) untuk menghentikan panggilan rekursif di dalam kaedah ini.

Contoh: Faktorial Nombor Menggunakan Pengulangan

 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); ) )

Keluaran :

 4 faktorial = 24

Dalam contoh di atas, kami mempunyai kaedah yang dinamakan factorial(). Yang factorial()dipanggil dari main()kaedah. dengan pemboleh ubah nombor diluluskan sebagai hujah.

Di sini, perhatikan kenyataannya,

 return n * factorial(n-1);

The factorial()kaedah memanggil sendiri. Pada mulanya, nilai n adalah 4 di dalam factorial(). Semasa panggilan rekursif seterusnya, 3 diteruskan ke factorial()kaedah. Proses ini berterusan sehingga n sama dengan 0.

Apabila n sama dengan 0, ifpernyataan itu kembali palsu maka 1 dikembalikan. Akhirnya, hasil terkumpul diteruskan ke main()kaedah.

Mengendalikan Program Factorial

Gambar di bawah akan memberi anda idea yang lebih baik tentang bagaimana program faktorial dijalankan dengan menggunakan rekursi.

Program Factorial menggunakan Rekursi

Kelebihan dan Kekurangan Pengulangan

Apabila panggilan rekursif dibuat, lokasi penyimpanan baru untuk pemboleh ubah dialokasikan di timbunan. Oleh kerana, setiap panggilan berulang berulang, pemboleh ubah dan parameter lama dikeluarkan dari timbunan. Oleh itu, rekursi biasanya menggunakan lebih banyak memori dan pada amnya lambat.

Sebaliknya, penyelesaian rekursif jauh lebih mudah dan memerlukan lebih sedikit masa untuk menulis, menyahpepijat dan menyelenggara.

Bacaan yang Disarankan: Apakah kelebihan dan kekurangan rekursi?

Artikel menarik...