Kompleksitas Algoritma
Sukmawati Nur Endah
Departemen Informatika UNDIP
Fungsi Pertumbuhan
Algoritma fungsi
perpangkatan?
Contoh
f(x,y) = xy
Algoritma Perpangkatan
Terdapat 3 langkah
Bagaimana dengan pangkat (2,2)? Ada berapa langkah?
Bagaimana dengan pangkat (2,5)? Ada berapa langkah?
Notasi Asimtotik
Big O (O besar)
Big Ω (Omega Besar)
Big Θ (Tetha Besar)
Big O
Definisi:
T(n) = O(f(n)) bila terdapat konstanta C dan n0 sedemikian
sehingga T(n) ≤ C. f(n), untuk n ≥ n0
Fungsi Big-O
O(1): Kompleksitas Konstan
asumsi n = len(lst)
Contoh implementasi
Contoh :...
O(nm): Kompleksitas Polinomial
Contoh
Kompleksitas :a*b
Jika a=b maka kompleksitasnya a2, atau dapat ditulis
sebagai n2 yang diabstrakkan sebagai nm,m=2
O(nm): Kompleksitas
Polinomial
Perbandingan
Kompleksitas Algoritma
Kompleksitas Algoritma
Ingat Kembali :
Notasi Asimtotik
Fungsi pertumbuhan mempunyai notasi ➔ notasi Asimtotik
Notasi Asimtotik
Big O (O besar)
Big Ω (Omega Besar)
Big Θ (Tetha Besar)
Big O
Definisi:
T(n) = O(f(n)) (artinya T(n) berorde paling besar f(n)) bila
terdapat konstanta C dan n0 sedemikian sehingga T(n) ≤ C.
f(n), untuk n ≥ n0
Catatan:
Penyelesaian 1:
Jika n ≥ 1 maka n ≤ n2 dan 1 ≤ n2 Sehingga
2n2 + 6n + 1 ≤ 2n2 + 6n2 + n2 = 9n2 untuk semua n ≥ 1
Penyelesaian 2
6n ≤ n2 untuk n ≥ 6 Sehingga
2n2 + 6n + 1 ≤ 2n2 + n2 + n2 = 4n2 untuk semua n ≥ 6
Penyelesaian 3
Untuk C berapa jika n0 = 2?
Penyelesaian :
5 = O(1) karena 5 ≤ 6.1 untuk n ≥ 1
5 = O(1) karena 5 ≤ 10.1 untuk n ≥ 1
Latihan
Bukti :
T(n) = amnm + am-1nm-1 + ... + a1n + a0
a n
i
= i
i =0
n a
m
≤ i = C nm , untuk n ≥ 1
i =0
Jadi : T(n) = O(nm).
Teorema Big O
O(5n2) = O(n2)
n2= O(n2)
Aturan menentukan
kompleksias waktu asimtotik
Ditentukan dengan mengambil suku yang mendominasi
fungsi T dan menghilangkan keofisiennya
Misal :
Algoritma Cari Elemen Terbesar : T(n) = n-1 = O(n)
Algoritma Pencarian Linier
Tmin (n) = 1 = O(1)
Tmax (n) = n = O(n)
Taverage(n) = ½ (n + 1) = O(n)
Definisi :
T(n) = Ω(g(n)) (artinya T(n) berorde paling kecil g(n)) bila
terdapat konstanta C dan n0 sedemikian sehingga T(n) ≥ C. g(n),
untuk n ≥ n0
Ilustrasi
Notasi Big Θ
Definisi
T(n) = Θ(h(n)) bila terdapat konstanta C1, C2 dan n0 sedemikian
sehingga 0 ≤ C1.h(n) ≤ T(n) ≤ C2. h(n), untuk n ≥ n0
Penyelesaian :
Karena 2n2 + 6n + 1 ≥ 2n2 untuk semua n ≥ 1 maka
T(n) = 2n2 + 6n + 1 = Ω(n2)
Contoh :
Tentukan notasi O, Ω dan Θ untuk algoritma selection sort!
Penyelesaian :
T(n) = ½ n(n-1)
= ½ n2 – ½ n
Sesuai teorema maka algoritma ini berorde ....
Jadi notasinya....
Ada Pertanyaan?