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

Algoritma Divide and Conquer PowerPoint PPT Presentation


  • 61 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


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.


Algoritma divide and conquer

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


Algoritma divide and conquer

  • 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


Algoritma divide and conquer

  • Ukurantabelhasilpembagiandapatdibuatcukupkecilsehinggamencari minimum danmaksimumdapatdiselesaikan (SOLVE) secaralebihmudah.

  • Dalamhalini, ukurankecil yang dipilihadalah 1 elemenatau 2 elemen.


Algoritma divide and conquer

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.


  • Login