Materi minggu ke 5

Download Report

Transcript Materi minggu ke 5

Desain dan Analisis Algoritma
Pertemuan 5
Asymptotic Notations
Latihan
Tentukan kelas OOG algoritma Tower of
Hanoi
Latihan
algorithm secret(n)
//input bilangan bulat positif n
If n = 1 return 1
else return secret ([n / 2]) + 1
Apa yang dilakukan algoritma secret?
Tentukan kelas OoG algoritma secret
Kelas-kelas Orders of Growth
C
logN
N
NlogN
N2
N3
2N
N!
constant
logarithmic
linear
quadratic
cubic
exponential
factorial
Makin ke bawah, OoGnya makin besar
Apakah kita selalu bisa menentukan
persamaan T(n) secara eksak?
Untuk kasus sederhana mungkin bisa
Untuk algoritma yang rumit jarang bisa
Tentukan T(n) & kelas OoG algoritma
berikut
Algorithm polinom(x, P[0..n])
//algoritma untuk menghitung nilai polinom
//y = P[0]x0+P[1]x1+ P[2]x2+…+ P[n]xn
//input : x & P[0..n]
//output : y
y←0
for i ← 0 to n do
y = y + P[0] * xi
return(y)
Big Omega
t(n) Є Ω(f(n))
Baca : OoG t(n) ada di omega f(n)
t(n) Є Ω(f(n)) jika OoG t(n) ≥ OoG f(n)
Contoh, untuk algoritma polinom t(n) Є
Ω(n)
Contoh 3n3 Є Ω(n2), 0.5n(n - 1) Є Ω(n2)
Big Omega
grafik
Big Omega
Untuk membuktikan apakah t(n) Є Ω(f(n))
OoG t(n) ≥ OoG f(n)
 Limit
 Jika ada konstanta c dan integer positif no
sedemikian hingga t(n) >= cf(n) untuk semua n ≥
no
Big Omega
 Buktikan bahwa n3 Є Ω(n2)
Big Oh
t(n) Є O(f(n))
Baca : OoG t(n) ada di O f(n)
t(n) Є O(f(n)) jika OoG t(n) ≤ OoG f(n)
Contoh 7n Є O(n2), 100n + 5 Є O(n2),
0.5n(n - 1) O(n2)
Big Oh
grafik
Big Oh
Untuk membuktikan apakah t(n) Є O(f(n))
OoG t(n) ≤ OoG f(n)
 Limit
 Jika ada konstanta c dan integer positif no
sedemikian hingga t(n) ≤ cf(n) untuk semua n ≥
no
Big Oh
 Buktikan bahwa 100n + 5 Є O(n2)
Big theta
t(n) Є Ө(f(n))
Baca : OoG t(n) ada di Ө f(n)
t(n) Є Ө(f(n)) jika OoG t(n) = OoG f(n)
Contoh 2n2 + log n Є Ө(n2), 2n4 + 3n2 Є
Ө(n4)
Big theta
grafik
Big theta
Untuk membuktikan apakah t(n) Є Ө(f(n))
OoG t(n) = OoG g(n)
 Limit
 Jika ada konstanta c1, c2 dan integer positif no
sedemikian hingga c2g(n) ≤ t(n) ≤ c1g(n) untuk
semua n ≥ no
Big theta
 Buktikan bahwa 0.5n(n - 1) Є Ө(n)
Tugas
Tugas latihan 2.4 no 1, 3, 4, 8
Dapat didownload di mariefh.lecture.ub.ac.id
Dipresentasikan pada pertemuan 6 oleh
mahasiswa dengan nomor_urut_absen % 10
== 1