Perbedaan antara rekursi dan iterasi
Rekursi
Operasi rekursif adalah proses yang diulang hingga instruksi akhir dicapai dari dalam operasi. Teknik rekursif paling umum dalam pemrograman komputer adalah metode mengurangi masalah, dari atas ke bawah, mendapatkan versi masalah itu sendiri lebih sederhana sampai kasus dasar tercapai. Solusi untuk kasus dasar dikombinasikan dengan solusi dari masing-masing masalah sebelumnya sampai mencapai yang pertama, dalam kasus yang paling rumit.
Iterasi
Dalam pemrograman komputer, operasi berulang adalah yang mengulang proses selama waktu yang ditentukan (iterasi), tergantung pada parameter yang ditentukan oleh programmer. Biasanya, output dari satu iterasi dari proses digunakan sebagai titik awal untuk iterasi berikutnya. Setiap langkah berasal langkah selanjutnya. Proses berlanjut sampai tujuan tertentu tercapai dan prosesnya berakhir.
Perbedaan utama
Perbedaan paling penting antara operasi rekursif dan iterasi adalah bahwa langkah-langkah operasi berulang dilakukan satu per satu dan eksekusi langsung langsung ke langkah berikutnya. Dalam operasi rekursif, setiap langkah setelah langkah awal adalah replika dari langkah sebelumnya. Selain itu, dari atas ke bawah, setiap langkah sedikit lebih mudah daripada yang hanya "di atas". Di akhir operasi, semua solusi digabungkan untuk menyelesaikan masalah.
Contoh
Contoh umum operasi kursif adalah faktorial. Faktorfaktor angka adalah produk bilangan bulat positif yang kurang dari atau sama dengan bilangan itu. Memecahkan masalah ini secara rekursif membutuhkan mengalikan angka awal dengan sendirinya minus 1. Ekspresi rekursif adalah n (n - 1), di mana n adalah nomor awal. Setiap langkah sedikit lebih mudah daripada langkah sebelumnya. Operasi berakhir ketika n dikurangi menjadi 1. Contoh dari iterasi adalah menemukan jumlah dari sejumlah angka. Ekspresi iteratif adalah (n + (n + 1)), di mana n adalah nomor awal. Setiap langkah dimulai dengan solusi dari langkah sebelumnya. Operasi berakhir ketika n mencapai angka yang diinginkan.