Algoritma Divide and Conquer - PowerPoint PPT Presentation

About This Presentation
Title:

Algoritma Divide and Conquer

Description:

Algoritma Divide and Conquer Definisi Divide: membagi masalah menjadi beberapa upa-masalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil ... – PowerPoint PPT presentation

Number of Views:280
Avg rating:3.0/5.0
Slides: 29
Provided by: Departeme8
Category:

less

Transcript and Presenter's Notes

Title: Algoritma Divide and Conquer


1
Algoritma Divide and Conquer
2
Definisi
  • Divide membagi masalah menjadi beberapa
    upa-masalah yang memiliki kemiripan dengan
    masalah semula namun berukuran lebih kecil
    (idealnya berukuran hampir sama),
  • Conquer memecahkan (menyelesaikan) masing-masing
    upa-masalah (secara rekursif), dan
  • Combine mengabungkan solusi masing-masing
    upa-masalah sehingga membentuk solusi masalah
    semula.

3
Quick Sort
  • Termasuk pada pendekatan sulit membagi, mudah
    menggabung (hard split/easy join)
  • Tabel A dibagi (istilahnya dipartisi) menjadi A1
    dan A2 sedemikian sehingga elemen-elemen A1 ?
    elemen-elemen A2.

4
(No Transcript)
5
  • Teknik mem-partisi tabel
  • (i) pilih x ? A1, A2, ..., An
    sebagai pivot,
  • (ii) pindai tabel dari kiri sampai ditemukan
    Ap ? x
  • (iii) pindai tabel dari kanan sampai ditemukan
    Aq ? x
  • (iv) pertukarkan Ap ? Aq
  • (v) ulangi (ii), dari posisi p 1, dan (iii),
    dari
  • posisi q 1 , sampai kedua pemindaian
  • bertemu di tengah tabel

6
(No Transcript)
7
(No Transcript)
8
(No Transcript)
9
(No Transcript)
10
(No Transcript)
11
(No Transcript)
12
  • Cara pemilihan pivot
  • Pivot elemen pertama/elemen terakhir/elemen
    tengah tabel
  • Pivot dipilih secara acak dari salah satu elemen
    tabel.
  • Pivot elemen median tabel

13
Kompleksitas Algoritma Quicksort
  • 1. Kasus terbaik (best case)
  • Kasus terbaik terjadi bila pivot adalah elemen
    median sedemikian sehingga kedua upatabel
    berukuran relatif sama setiap kali pempartisian.

14
(No Transcript)
15
(No Transcript)
16
Penyelesaian T(n) 2T(n/2) cn
2(2T(n/4) cn/2) cn 4T(n/4) 2cn
4(2T(n/8) cn/4) 2cn 8T(n/8) 3cn
... 2k T(n/2k) kcn Berhenti jika
ukuran tabel terkecil, n 1 n/2k 1 ? k
2log n sehingga T(n) nT(1) cn 2log n
na cn 2log n O(n log n)
17
  • 2. Kasus terburuk (worst case)
  • Kasus ini terjadi bila pada setiap partisi pivot
    selalu elemen maksimum (atau elemen minimum)
    tabel.
  • Kasus jika tabel sudah terurut menaik/menurun

18
(No Transcript)
19
  • Kompleksitas waktu algoritma

20
  • 3. Kasus rata-rata (average case)
  • Kasus ini terjadi jika pivot dipilih secara acak
    dari elemen tabel, dan peluang setiap elemen
    dipilih menjadi pivot adalah sama.
  • Tavg(n) O(n 2log n).

21
Perpangkatan an
  • Misalkan a ? R dan n adalah bilangan bulat
    tidak negatif
  • an a a a (n kali), jika n gt 0
  • 1 , jika n 0

22
(No Transcript)
23
  • Penyelesaian dengan Divide and Conquer
  • Algoritma menghitung an
  • 1. Untuk kasus n 0, maka an 1.
  • 2. Untuk kasus n gt 0, bedakan menjadi dua kasus
    lagi
  • (i) jika n genap, maka an an/2 ? an/2
  • (ii) jika n ganjil, maka an an/2 ? an/2 ? a

24
(No Transcript)
25
(No Transcript)
26
(No Transcript)
27
(No Transcript)
28
  • Tugas
  • Buatlah slide presentasi tentang
  • Depth First Search
  • Breadth First Search
  • Bahasan Konsep/alur serta kompleksitas algoritma
Write a Comment
User Comments (0)
About PowerShow.com