Devide and Conquer

Embed Size (px)

Citation preview

  • 8/17/2019 Devide and Conquer

    1/45

    Devide and

    ConquerDesy Purnami Singgih Putri

  • 8/17/2019 Devide and Conquer

    2/45

    Defnisi 

    Divide: membagi persoalan menjadibeberapa upa-masalah yang memilikikemiripan dengan persoalan semula

    namun berukuran lebih kecil (idealnyaberukuran hampir sama),

    Conquer (solve): memecahkan

    (menyelesaikan) masing-masing upa-masalah secara rekursif.

    Combine: mengabungkan solusimasing-masing upa-masalah sehinggamembentuk solusi persoalan semula.

  • 8/17/2019 Devide and Conquer

    3/45

    Divide & Conquer

    problemsize = n

    subproblem 1

    size n/2

    solution to

    subproblem 1

    Solution to original problem

    subproblem 2

    size n/2

    solution to

    subproblem 2

  • 8/17/2019 Devide and Conquer

    4/45

    !

  • 8/17/2019 Devide and Conquer

    5/45

  • 8/17/2019 Devide and Conquer

    6/45

  • 8/17/2019 Devide and Conquer

    7/45"

    Merge Sort 

    #lgoritma:$. %ntuk kasus n & $, maka tabel A sudahterurut dengan sendirinya (langkahS'*).

    . %ntuk kasus n + $, maka(a) DD*: bagi tabel A menjadi dua bagian,

    bagian kiri dan bagian kanan, masing-masing

      bagian berukuran n elemen.  (b) '/0%*1: Secara rekursif, terapkan  algoritma D-and-C  pada masing-masing

    bagian.  (c) 2*13*: gabung hasil pengurutan kedua

    bagian sehingga diperoleh tabel A yang

  • 8/17/2019 Devide and Conquer

    8/45

    de merge sort :

    4

  • 8/17/2019 Devide and Conquer

    9/455

  • 8/17/2019 Devide and Conquer

    10/45$6

    Proses merge:

  • 8/17/2019 Devide and Conquer

    11/45$$

  • 8/17/2019 Devide and Conquer

    12/45

  • 8/17/2019 Devide and Conquer

    13/45

  • 8/17/2019 Devide and Conquer

    14/45

  • 8/17/2019 Devide and Conquer

    15/45

    7erapa 7ig 8heta sesuai dengan

    2aster 8heorem9

  • 8/17/2019 Devide and Conquer

    16/45

  • 8/17/2019 Devide and Conquer

    17/45

  • 8/17/2019 Devide and Conquer

    18/45

  • 8/17/2019 Devide and Conquer

    19/45

    $5

     8eknik mem-partisi tabel:

    (i) pilih x  ∈  A;$) ulangi (ii), dari posisi p ? $, dan (iii), dari  posisi q @ $ , sampai kedua pemindaian  bertemu di tengah tabel

  • 8/17/2019 Devide and Conquer

    20/45

    6

  • 8/17/2019 Devide and Conquer

    21/45

    $

  • 8/17/2019 Devide and Conquer

    22/45

  • 8/17/2019 Devide and Conquer

    23/45

    A

  • 8/17/2019 Devide and Conquer

    24/45

  • 8/17/2019 Devide and Conquer

    25/45

    B

    Kompleksitas Algoritma Quicksort :$. Kasus terbaik (best case)

    Casus terbaik terjadi bila pivot  adalah elemenmedian sedemikian sehingga kedua upatabelberukuran relatif sama setiap kalipempartisian.

  • 8/17/2019 Devide and Conquer

    26/45

  • 8/17/2019 Devide and Conquer

    27/45

    "

  • 8/17/2019 Devide and Conquer

    28/45

    4

    . Kasus terburuk (worst case)

    Casus ini terjadi bila pada setiap partisi pivot  selalu elemen maksimum (atau elemenminimum) tabel.

    Casus jika tabel sudah terurutmenaikmenurun

  • 8/17/2019 Devide and Conquer

    29/45

    5

  • 8/17/2019 Devide and Conquer

    30/45

    A6

  • 8/17/2019 Devide and Conquer

    31/45

    A$

    A. Kasus rata-rata (average case)

    Casus ini terjadi jika pivot dipilih secara acakdari elemen tabel, dan peluang setiap elemendipilih menjadi pivot  adalah sama.

    T a>g(n) & (n log n).

  • 8/17/2019 Devide and Conquer

    32/45

    5. Persoalan PemasanganUbin

    Persoalan: Diberikan sebuah papan yangberukuran k  E k . 8ersedia sebuah ubindan k @ $ buah ubin yang terdiri darikelompok A-ubin berbentuk huruf .Pasanglah semua ubin pada papantersebut.

    A

  • 8/17/2019 Devide and Conquer

    33/45

    #lgoritma D F :

    G 7agi papan menjadi ! bagian

    G 8empatkan kelompok A-ubin berbentuk

    pada bagian tengah yang tidak ada ubintunggal

    G %bin tunggal dapat ditaruh di mana saja.

    AA

  • 8/17/2019 Devide and Conquer

    34/45

    A!

  • 8/17/2019 Devide and Conquer

    35/45

    AB

    8. Perkalian Dua Buah Bilangan

    Bulat ang BesarPersoalan! 2isalkan bilangan bulat !  dan " 

      yang panjangnya n angka

     !  & x $ x  x A H x n

    " & # $ #  # AH # n

    Iitunglah hasil kali !   dengan " .

  • 8/17/2019 Devide and Conquer

    36/45

    A

  • 8/17/2019 Devide and Conquer

    37/45

    A"

  • 8/17/2019 Devide and Conquer

    38/45

    A4

  • 8/17/2019 Devide and Conquer

    39/45

    A5

  • 8/17/2019 Devide and Conquer

    40/45

    !6

  • 8/17/2019 Devide and Conquer

    41/45

    !$

    Penyelesaian:

    T (n) & (n).

     8ernyata, perkalian dengan algoritma Divideand Conquer  seperti di atas belummemperbaiki kompleksitas Jaktu algoritma

    perkalian secara brute $orce.

    #dakah algoritma perkalian yang lebih baik9

    P b ik "A A K t b

  • 8/17/2019 Devide and Conquer

    42/45

    !

    Perbaikan "A.A Karatsuba#$%&'(!

  • 8/17/2019 Devide and Conquer

    43/45

    !A

    Anatolii Ale)evi*h Karatsuba

    Anatolii Ale)eevit*h Karatsuba (1ussian: KLMNOQR

    KQTUVTTWRX YMZM[\]M^ 3ro_ny, `anuary A$, $5A" 2oscoJ,September 4, 664) Jas a 1ussian mathematician, Jho authoredthe rst fast multiplication method: the Caratsuba algorithm, a fastprocedure for multiplying large numbers. (Sumber: ikipedia)

  • 8/17/2019 Devide and Conquer

    44/45

    !!

  • 8/17/2019 Devide and Conquer

    45/45