C Rekursi (Fungsi rekursif)

Daftar Isi

Dalam tutorial ini, Anda akan belajar menulis fungsi rekursif dalam pemrograman C dengan bantuan sebuah contoh.

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

Bagaimana rekursi bekerja?

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

Rekursi berlanjut sampai beberapa kondisi terpenuhi untuk mencegahnya.

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: Jumlah Bilangan Alami Menggunakan Rekursi

 #include int sum(int n); int main() ( int number, result; printf("Enter a positive integer: "); scanf("%d", &number); result = sum(number); printf("sum = %d", result); return 0; ) int sum(int n) ( if (n != 0) // sum() function calls itself return n + sum(n-1); else return n; ) 

Keluaran

 Masukkan bilangan bulat positif: 3 jumlah = 6

Awalnya, sum()dipanggil dari main()fungsi dengan angka yang diteruskan sebagai argumen.

Misalkan, nilai n di dalamnya sum()awalnya adalah 3. Selama panggilan fungsi berikutnya, 2 diteruskan ke sum()fungsi tersebut. Proses ini berlanjut hingga n sama dengan 0.

Ketika n sama dengan 0, ifkondisi gagal dan elsebagian dieksekusi mengembalikan jumlah bilangan bulat pada akhirnya ke main()fungsi.

Keuntungan dan Kerugian Rekursi

Rekursi membuat program menjadi elegan. Namun, jika kinerja sangat penting, gunakan loop sebagai gantinya karena rekursi biasanya jauh lebih lambat.

Karena itu, rekursi adalah konsep penting. Ini sering digunakan dalam struktur data dan algoritma. Misalnya, penggunaan rekursi dalam masalah seperti traversal pohon adalah hal yang umum.

Artikel yang menarik...