Ide dasar desain algoritma rekursif adalah:
Untuk masalah yang kompleks, terurai masalah asli menjadi beberapa sub-masalah yang relatif sederhana, dan lanjutkan sampai sub-masalah sangat sederhana sehingga dapat diselesaikan secara langsung, yaitu, keluar dari rekursif, sehingga masalah asli dapat diselesaikan secara rekursif.
Saat melakukan algoritma rekursif, Anda harus memahami pintu keluar, yaitu, Anda harus memiliki kondisi akhir rekursif yang jelas saat melakukan algoritma rekursif. Ini sangat penting. Faktanya, pintu keluar ini sangat mudah dimengerti. Itu hanya suatu kondisi. Ketika kondisi ini terpenuhi, kami tidak lagi berulang.
Kunci untuk dipahami adalah:
(1) Keluar Rekursif
(2) Dorongan tanah secara bertahap mendekati pintu keluar
Rekursi adalah perilaku metode itu sendiri yang menyebut dirinya. Berhati -hatilah untuk menulis header rekursi, yaitu kapan harus keluar dari rekursi.
Hindari lingkaran setan.
Contoh 1, cetak 1 ~ 100 dengan rekursif
package com.lanhuigu.base;public class CursionTest {private static int i = 0;/** * Recursively print 1 to 100 */public static void testCursion01() {i++;// Self-increment if (i <= 100) {// Callback when less than or equal to 100, otherwise the callback will jump out to avoid the dead loop System.out.println (i); TestCursion01 (); // Callback: Call sendiri} else {System.out.println ("Game over!");}} Public static void main (string [] args) {testCursion01 (); // cetak 1 ~ 100}}Contoh 2: Hitung secara rekursif faktorial dari angka tertentu
Paket com.lanhuigu.base; Kelas publik CURSIONTEST {/***Secara rekursif menghitung faktorial dari angka tertentu*/public static int testfactorial (int n) {if (n == 1) {return 1;} else {return n*testfactorial (n-1);} {public static void Main (String [] [STRING [] [] (STRING [] (STRING [] (STRING [] (N*TESTFACTIORIAL (N-1); {System.out.println (testfactorial (5)); // Hitung faktorial 5}}Mengenai faktorial perhitungan rekursif, diagram struktur analisis memori rekursif:
Pertama atur garis panjang, akhirnya tutup garis, lalu tarik ikan ke darat.
Meringkaskan
Di atas adalah semua tentang contoh analisis algoritma rekursif java dalam artikel ini, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!