Algoritma divide and conquer
Download
1 / 24

Algoritma Divide and Conquer - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

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 ),

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Algoritma Divide and Conquer' - reya


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
Algoritma divide and conquer

AlgoritmaDivide and Conquer

Pertemuan 4

Erna Sri Hartatik


Definisi
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.


Skema umum algoritma divide and conquer
SkemaUmumAlgoritmaDivide and Conquer


Jika pembagian selalu menghasilkan dua upa masalah yang berukuran sama
Jikapembagianselalumenghasilkanduaupa-masalah yang berukuransama:


Contoh contoh masalah
Contoh-contohmasalah

  • MencariNilai Minimum danMaksimum (MinMaks)

    Persoalan: MisalkandiberikantabelA yang berukurannelemendansudahberisinilaiinteger.

    Carilahnilai minimum dannilaimaksimumsekaligus di dalamtabeltersebut.


Penyelesaian dengan algoritma brute force
PenyelesaiandenganAlgoritma Brute Force

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


Penyelesaian dengan divide and conquer
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


Algoritma pengurutan dengan metode divide and conquer
AlgoritmaPengurutandenganMetodeDivide and Conquer


Merge sort
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.


ad