Belajar Algoritma Struktur Data Recursive Function
Assalamualaiku para bloggers,, sudah sampai waktunya Belajar lagi nech,,,kemarin kita Belajar Algoritma Struktur Data Function dan Struktur Data Stack semoga dapat dimengerti.
sekarang kita belajar Algoritma Struktur Data Recursive Function, dan semoga diterima dan dimengerti..
oklik langsung saje kite mulai karena sudah malam sudah mulai larut...hehe
Silahkan untuk modulnya disedoot ,hehe
Sekian untuk pelajaran hari ini semoga bermanfaat..amien..amien..
sekarang kita belajar Algoritma Struktur Data Recursive Function, dan semoga diterima dan dimengerti..
oklik langsung saje kite mulai karena sudah malam sudah mulai larut...hehe
Fungsi Rekursif
Fungsi yang berisi definisi
dirinya sendiri
Fungsi yang memanggil dirinya
sendiri
Prosesnya terjadi secara berulang-ulang
Yang perlu diperhatikan adalah
“stopping role”
Plus – Minus
+Karena program lebih singkat dan
ada beberapa kasus yang lebih mudah menggunakan fungsi yang rekursif
-Memakan memori yang lebih besar,
karena setiap kali bagian dirinya dipanggil, dibutuhkan sejumlah ruang memori
tambahan.
-Mengorbankan efisiensi dan
kecepatan
-Problem: rekursi seringkali
tidak bisa “berhenti” sehingga memori akan terpakai habis dan program bisa hang.
-Program menjadi sulit dibaca
Saran: jika memang bisa
diselesaikan dengan iteratif, gunakanlah iteratif!
Bentuk Umum Fungsi Rekursif
return_data_type function_name(parameter_list){
...
function_name(...);
...
}
Faktorial Rekursif
Metode Rekursif
Cara lain untuk menyelesaikan
permasalahan di atas adalah dengan cara rekursi, dimana n! adalah hasil kali
dari n dengan (n-1)!.
Untuk menyelesaikan (n-1)! adalah
sama dengan n!, sehingga (n-1)! adalah n-1 dikalikan dengan (n-2)!, dan (n-2)! adalah
n-2 dikalikan dengan (n-3)! dan seterusnya sampai dengan n = 1, kita
menghentikan penghitungan n!
Program Rekursif
#include <iostream.h>
#include <conio.h>
int
fact_rec(int n)
{
/**********************************************************
Menghitung
sebuah faktorial secara rekursif
***********************************************************/
if
(n < 0)
return
0;
else
if (n == 0)
return
1;
else
if (n == 1)
return
1;
else
return
n * fact_rec(n-1);
}
void
main()
{
int fac;
cout<<"Masukkan
berapa faktorial : ";
cin>>fac;
cout<<"Hasil
faktorial dari adalah : "<<fact_rec(fac)<<endl;
getch();
Silahkan untuk modulnya disedoot ,hehe
Sekian untuk pelajaran hari ini semoga bermanfaat..amien..amien..
Post a Comment
Silahkan Berkomentar Dengan Baik dan Sopan
No Spam
No Link
Terima Kasih Telah Berkunjung Ke Blog ini