Rumah  >  Artikel  >  Java  >  Rekursi

Rekursi

WBOY
WBOYasal
2024-08-31 13:02:32694semak imbas

Rekursi

Definisi Rekursi:

  • Rekursi ialah kaedah yang memanggil dirinya sendiri.
  • Kaedah adalah rekursif apabila ia mengandungi panggilan kepada dirinya sendiri.

Contoh Klasik:
Pengiraan faktor ialah contoh klasik rekursi.
Faktorial bagi suatu nombor? ialah hasil darab semua integer dari 1 hingga N

Contoh Kod:

  • Kod yang disediakan menunjukkan kaedah rekursif (factR) dan kaedah lelaran (factI) untuk mengira faktorial.
  • Kedua-dua kaedah mengembalikan hasil yang sama, tetapi dengan pendekatan yang berbeza.

Kerja Kaedah Rekursif:

  • Kaedah rekursif (factR) memanggil dirinya sehingga nilai
  • ? n jadi 1.
  • Dengan setiap panggilan rekursif, kaedah "bertindan" dan hanya mula kembali apabila keadaan asas dipenuhi.

Timbunan Panggilan:

  • Setiap panggilan rekursif memperuntukkan ruang pada timbunan pelaksanaan untuk parameter dan pembolehubah baharu.
  • Panggilan rekursif boleh menyebabkan overrun tindanan, mengakibatkan pengecualian.

Perbandingan dengan Lelaran:

  • Kaedah rekursif mungkin lebih jelas dan mudah untuk algoritma tertentu, seperti isihan pantas.
  • Walau bagaimanapun, versi rekursif mungkin lebih perlahan disebabkan overhed panggilan kaedah.

Penjagaan semasa Menggunakan Rekursi:

  • Adalah penting untuk mempunyai syarat penamatan untuk menghalang kaedah daripada memasuki gelung tak terhingga.
  • Pernyataan nyahpepijat seperti println() boleh membantu anda memahami aliran pelaksanaan rekursif.

Kod Rekursif untuk Mengira Faktorial
LIHAT RECURSION.JAVA

Atas ialah kandungan terperinci Rekursi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn