Algoritma divide and conquer
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

Algoritma Divide and Conquer PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on
  • Presentation posted in: General

Algoritma Divide and Conquer. Pertemuan 4. Erna Sri Hartatik. Definisi. Divide : membagi masalah menjadi beberapa sub- masalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil ( idealnya berukuran hampir sama ),

Download Presentation

Algoritma Divide and Conquer

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


AlgoritmaDivide and Conquer

Pertemuan 4

Erna Sri Hartatik


Definisi

  • Divide: membagimasalahmenjadibeberapa sub-masalah yang memilikikemiripandenganmasalahsemulanamunberukuranlebihkecil (idealnyaberukuranhampirsama),

  • Conquer: memecahkan (menyelesaikan) masing-masing sub-masalah (secararekursif), dan

  • Combine: mengabungkansolusimasing-masingsub-masalahsehinggamembentuksolusimasalahsemula.


Divide & Conquer

problem

size = n

subproblem 1

size n/2

subproblem 2

size n/2

solution to

subproblem 1

solution to

subproblem 2

Solution to original problem


  • Obyekpermasalahan yang dibagi :

    masukan (input) atauinstances yang berukurannseperti:

    - tabel (larik),

    - matriks,

    - eksponen,

    - dll, bergantungpadamasalahnya.

  • Tiap-tiap sub-masalahmempunyaikarakteristik yang sama (the same type) dengankarakteristikmasalahasal, sehinggametodeDivide and Conquerlebih natural diungkapkandalamskemarekursif.


SkemaUmumAlgoritmaDivide and Conquer


Jikapembagianselalumenghasilkanduaupa-masalah yang berukuransama:


Contoh-contohmasalah

  • MencariNilai Minimum danMaksimum (MinMaks)

    Persoalan: MisalkandiberikantabelA yang berukurannelemendansudahberisinilaiinteger.

    Carilahnilai minimum dannilaimaksimumsekaligus di dalamtabeltersebut.


PenyelesaiandenganAlgoritma Brute Force

T(n) = (n – 1) + (n – 1) = 2n – 2 = O(n)


PenyelesaiandenganDivide and Conquer


  • Ukurantabelhasilpembagiandapatdibuatcukupkecilsehinggamencari minimum danmaksimumdapatdiselesaikan (SOLVE) secaralebihmudah.

  • Dalamhalini, ukurankecil yang dipilihadalah 1 elemenatau 2 elemen.


MinMaks(A, n, min, maks)

Algoritma:

  • Untukkasusn = 1 ataun = 2,

    SOLVE: Jikan = 1, makamin = maks = A[n]

    Jikan = 2, makabandingkankeduaelemenuntuk

    menentukanmindanmaks.

  • Untukkasusn > 2,

    (a) DIVIDE: BagiduatabelAmenjadiduabagian yang sama,

    A1 dan A2

    (b) CONQUER:

    MinMaks(A1, n/2, min1, maks1)

    MInMaks(A2, n/2, min2, maks2)

    (c) COMBINE:

    if min1 <min2 then min <- min1 else min <- min2

    if maks1 <maks2 then maks <- maks2 else maks <- maks1


AlgoritmaPengurutandenganMetodeDivide and Conquer


Merge Sort

Algoritma:

1. Untukkasusn = 1, makatabelAsudahterurutdengansendirinya (langkah SOLVE).

2. Untukkasusn > 1, maka

(a) DIVIDE: bagitabelAmenjadiduabagian,

bagiankiridanbagiankanan, masing-masing

bagianberukurann/2 elemen.

(b) CONQUER: Secararekursif, terapkan

algoritmaD-and-Cpadamasing-masing

bagian.

(c) MERGE: gabunghasilpengurutankedua

bagiansehinggadiperolehtabelA yang

terurut.


  • Login