Teknik pemrograman program yang memanggil dirinya sendiri disebut rekursi. Rekursi banyak digunakan sebagai algoritma dalam bahasa pemrograman. Suatu proses atau fungsi memiliki metode untuk secara langsung atau tidak langsung menyebut dirinya dalam definisi atau deskripsi. Biasanya mengubah lapisan masalah besar dan kompleks menjadi masalah yang lebih kecil yang mirip dengan masalah asli untuk dipecahkan. Strategi rekursif hanya membutuhkan sejumlah kecil program untuk menggambarkan beberapa perhitungan berulang yang diperlukan untuk proses pemecahan masalah, sangat mengurangi jumlah kode dalam program. Kemampuan rekursi terletak pada menggunakan pernyataan terbatas untuk menentukan satu set objek yang tak terbatas. Secara umum, rekursi membutuhkan kondisi batas, segmen muka rekursif, dan segmen pengembalian rekursif. Ketika kondisi batas tidak terpenuhi, lanjutkan secara rekursif; Ketika kondisi batas dipenuhi, kembali secara rekursif. "Ini adalah apa yang dikatakan Baidu Encyclopedia.
Sebenarnya, terus terang, itu adalah operasi yang dilakukan dengan metode rekursif itu sendiri yang memanggil dirinya sendiri. Izinkan saya memberi Anda contoh untuk menggambarkan contoh ini, yang merupakan urutan Fibonacci yang sangat terkenal.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368…
Dapat dilihat bahwa angka ketiga diperoleh dengan menambahkan dua angka pertama.
Inilah artinya jika Anda menggunakan loop normal:
kelas publik feibo {public static void main (string [] args) {int num1 = 0; int num2 = 1; int numn = 1; int n = 10; untuk (int i = 3; i <= n; i ++) {numn = num1+num2; num1 = num2; num2 = numn; } System.err.println (n+"Hasilnya adalah:"+numn); }}Hasil operasinya adalah:
Hasil dari 10 angka adalah: 34
Ini untuk menggunakan metode loop normal untuk operasi, jika Anda menggunakan rekursi, seperti ini:
rekursi int statis publik (int n) {if (n == 1) {return 0; } if (n == 2) {return 1; } return recursion (n-1)+rekursi (n-2); }Rekursi membutuhkan kondisi akhir, dan dalam kasus ini rekursi tidak perlu terus menelepon, mengakhiri rekursi. Kondisi akhir dari kasus di atas adalah bahwa ketika n = 1 atau 2, ia mengembalikan 0 atau 1, alih -alih terus memanggil metode rekursif itu sendiri.
Dua kondisi utama untuk rekursi adalah menyebut diri Anda dan mengakhiri rekursi.
Karena rekursi disebut sendiri, ia membuang banyak sumber daya, waktu berjalan jauh lebih lama dari loop, waktu berjalan lebih lambat, dan efisiensinya rendah.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.