10
Divide and Conquer
1
Divide and Conquer dulunya adalah
strategi militer yang dikenal dengan
nama divide utimperes.
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),
Combine:
Mengabungkan solusi masing-masing upa-masalah sehingga
membentuk solusi masalah semula.
3
4
Skema Umum Algoritma
Divide and Conquer
5
Pemakaian teknik Divide and
Conquer banyak digunakan dalam
menyelesaikan berbagai macam
persoalan :
a)Searching
b)Sorting
6
Searching
Mencari Nilai Minimum
dan Maksimum (MinMaks)
7
Penyelesaian dengan Divide and Conquer
Misalkan tabel A berisi elemen-elemen sebagai berikut:
8
Ukuran tabel hasil pembagian dapat dibuat
cukup kecil sehingga mencari minimum dan
maksimum dapat diselesaikan (SOLVE)
secara lebih mudah.
9
MinMaks (A, n, min, maks)
Algoritma:
CONQUER:
MinMaks(A1, n/2, min1, maks1)
MInMaks(A2, n/2, min2, maks2)
COMBINE:
if min1 < min2 then min <-- min1 else min <-- min2
if maks1 <maks 2 then maks<-- maks2 else maks<-- maks1
10
11
Sorting
Usaha untuk mengurutkan (sorting) kumpulan-
kumpulan data-data dalam suatu array, beberapa
metode yang digunakan :
12
Sorting
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42