Pada
pertemuan kali ini kita akan menjelaskan tentang analisis algoritma rekursif.
Algoritma
rekursif adalah suatu subrutin atau fungsi atau prosedur yang memanggil dirinya
sendiri.
Syarat
bentuk rekursif adalah :
Basis
(kondisi terminal/kondisi terbaik) dan recurrence (yang melibatkan parameter
yang nilainya menuju kondisi terminal).
Dan
berikut adalah langkah analisis algoritmanya:
1.Tentukan
parameter ukuran input.
2.Tentukan
operasi dasar.
3.Perhatikan
apakah butuh worst, average, dan best-case. Jika jumlah eksekusi suatu operasi
dasar bervariasi untuk berbagai input berukuran sama maka dibutuhkan
perhitungan worst, average, dan best-case.
4.Tentukan
hubungan recurrence, dengan sebuah kondisi awal, untuk jumlah waktu operasi
dasar dieksekusi.
5.
Selesaikan
recurrence atau setidaknya pastikan OoG dari solusi.
Berikut
contoh menganalisa algoritma pangkat sebagai berikut:
function pangkat(input p,n: integer)→ integer
Kamus:
p,n : integer
Algoritma:
If n = 0 then
pangkat ← 1
else
pangkat ← p*pangkat(p,n-1)
endif
endfunction
Penyelesaian
:
1.
Operasi
dasar utama = perkalian
2.
Menentukan
hubungan recurrence
Basis :
Pn
= 1 jika n = 0;
recurrence
:
pn
= p * pn-1 jika n > 0;
3.
penyelesaian
recurrence:
Tidak ada komentar:
Posting Komentar