Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

14. KOMPLEKSITAS ALGORITMA. Untuk keperluan analisis algoritma, kita perlu mengetahui seberapa cepat pertumbuhan atau perkembangan suatu fungsi. Pertumbuhan.

Presentasi serupa


Presentasi berjudul: "14. KOMPLEKSITAS ALGORITMA. Untuk keperluan analisis algoritma, kita perlu mengetahui seberapa cepat pertumbuhan atau perkembangan suatu fungsi. Pertumbuhan."— Transcript presentasi:

1 14. KOMPLEKSITAS ALGORITMA

2 Untuk keperluan analisis algoritma, kita perlu mengetahui seberapa cepat pertumbuhan atau perkembangan suatu fungsi. Pertumbuhan fungsi berkaitan erat dengan waktu yang diperlukan oleh sebuah komputer untuk menyelesaikan suatu tugas tertentu. Notasi-notasi yang digunakan untuk membandingkan pertumbuhan adalah: 14.1 PERTUMBUHAN FUNGSI

3 Notasi O besar (big O) Definisi Jika terdapat f(n) dan g(n), serta bilangan positif C dan n 0 maka f(n) = O (g(n)) sedemikian, sehingga 0  f(n)  Cg(n) untuk  n  n 0 Dengan kata lain pertumbuhan f(n) tidak akan melebihi Cg(n) Cg(n) disebut batas atas (upper bound) Pasangan C dan n 0 tidak unik. Artinya ada beberapa C dan n 0. f(n) = O(g(n)) dibaca : f(n) is big “O” of g(n)

4 f(n) Cg(n) n n0n0 f(n) = O (g(n))

5 Contoh 14.1 Tunjukkan bahwa n 2 + 2n + 1 = O(n 2 ) Penyelesaian n 2 + 2n + 1  n 2 + 2n 2 + n 2 n 2 + 2n + 1  4n 2 untuk n  1 Jadi C = 4 ; n 0 = 1 atau C = 3 ; n 0 = 2 atau C = 2 ; n 0 = 3

6 Notasi  Definisi Jika terdapat f(n) dan g(n), serta bilangan positif C dan n 0 maka f(n) =  (g(n)) sedemikian, sehingga 0  Cg(n)  f(n) untuk  n  n 0 Cg(n) disebut batas bawah (lower bound) Pasangan C dan n 0 tidak unik. Artinya ada beberapa C dan n 0.

7 f(n) Cg(n) n n0n0 f(n) =  (g(n))

8 Contoh 14.2 Tunjukkan bahwa 8n 3 + 5n =  (n 3 ) Penyelesaian 8n 3 + 5n  8n 3 untuk n  1 Jadi C = 8 ; n 0 = 1 atau C = 7 ; n 0 = 1 atau C = 6 ; n 0 = 1 dst.

9 Notasi  Definisi Jika terdapat f(n) dan g(n), maka f(n) =  (g(n)), jika terdapat bilangan positif C 1 dan C 2 dan n 0 sedemikian, sehingga memenuhi : 0  C 1 g(n)  f(n)  C 2 g(n) untuk  n  n 0 Dengan kata lain, f(n) =  (g(n)) jika f(n) = O(g(n)) dan f(n) =  (g(n)) untuk  n  n 0. f(n) =  (g(n)) dibaca “f(n) adalah tetha g(n)” atau f(n) order g(n)

10 f(n) =  (g(n)) f(n) C 1 g(n) n n0n0 C 2 g(n)

11 Contoh 14.3 Tunjukkan bahwa a) 2n 2 + n – 7 dan b) 5n 2 – 2n =  (n 2 ) Penyelesaian a)C 1 n 2  2n 2 + n – 7  C 2 n 2 n 2  2n 2 + n – 7  3n 2 untuk n  4 C 1 = 1, C 2 = 3, n 0 = 4 b) C 1 n 2  5n 2 – 2n  C 2 n 2 3n 2  5n 2 – 2n  5n 2 untuk n  1 C 1 = 3, C 2 = 5, n 0 = 1

12 nn2n2 3n23n2 5n 2 – 2n5n25n

13 nn2n2 4n24n2 5n 2 – 2n5n25n

14 o (little o) f(n) = o(g(n) jika pertumbuhan f(n) lebih lambat dari pertumbuhan g(n) untuk n yang sangat besar. Secara formal f(n) = o(g(n), jika Contoh 14.4 Tunjukkan bahwa 2n 2 = o(n 3 ) Penyelesaian: f(n) = 2n 2 g(n) = n 3

15  (little omega) f(n) =  (g(n) jika pertumbuhan f(n) lebih cepat dari pertumbuhan g(n) untuk n yang sangat besar. Secara formal f(n) =  (g(n), jika Contoh 14.5 Tunjukkan bahwa 2n 3 =  (n 2 ) Penyelesaian f(n) = 2n 3 g(n) = n 2


Download ppt "14. KOMPLEKSITAS ALGORITMA. Untuk keperluan analisis algoritma, kita perlu mengetahui seberapa cepat pertumbuhan atau perkembangan suatu fungsi. Pertumbuhan."

Presentasi serupa


Iklan oleh Google