Rekursi C ++ (Dengan Contoh)

Dalam tutorial ini, kita akan belajar tentang fungsi rekursif di C ++ dan cara kerjanya dengan bantuan contoh.

Fungsi yang memanggil dirinya sendiri dikenal sebagai fungsi rekursif. Dan, teknik ini dikenal sebagai rekursi.

Bekerja dari Rekursi di C ++

 void recurse() (… recurse();… ) int main() (… recurse();… )

Gambar di bawah ini menunjukkan bagaimana rekursi bekerja dengan memanggil dirinya sendiri berulang kali.

Bagaimana rekursi bekerja dalam pemrograman C ++

Rekursi berlanjut sampai beberapa kondisi terpenuhi.

Untuk mencegah rekursi tak terbatas, pernyataan if… else (atau pendekatan serupa) dapat digunakan di mana satu cabang membuat panggilan rekursif dan yang lainnya tidak.

Contoh 1: Faktorial Bilangan Menggunakan Rekursi

 // Factorial of n = 1*2*3*… *n #include using namespace std; int factorial(int); int main() ( int n, result; cout <> n; result = factorial(n); cout << "Factorial of " << n << " = " < 1) ( return n * factorial(n - 1); ) else ( return 1; ) )

Keluaran

 Masukkan angka non-negatif: 4 Faktorial 4 = 24

Kerja Program Faktorial

Bagaimana program rekursi C ++ ini bekerja

Seperti yang bisa kita lihat, factorial()fungsinya memanggil dirinya sendiri. Namun, selama setiap panggilan, kami telah menurunkan nilai n sebesar 1. Jika n lebih kecil dari 1, factorial()fungsi akhirnya mengembalikan output.

Keuntungan dan Kerugian Rekursi

Di bawah ini adalah pro dan kontra menggunakan rekursi di C ++.

Keuntungan dari Rekursi C ++

  • Itu membuat kode kita lebih pendek dan lebih bersih.
  • Rekursi diperlukan dalam masalah yang berkaitan dengan struktur data dan algoritme lanjutan, seperti Graph dan Tree Traversal.

Kekurangan Rekursi C ++

  • Dibutuhkan banyak ruang tumpukan dibandingkan dengan program iteratif.
  • Ini menggunakan lebih banyak waktu prosesor.
  • Mendebug bisa lebih sulit dibandingkan dengan program iteratif yang setara.

Artikel yang menarik...