Algoritma Divide and Conquer

Slides:



Advertisements
Presentasi serupa
Kompleksitas Algoritma
Advertisements

STRUKTUR DATA (3) sorting array
Design and Analysis of Algorithm Divide and Conquer Algorithm
PENGURUTAN ( SORTING ) Fajrizal.
QUICK SORT Kelompok 9.
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Bahan Kuliah IF3051 Strategi Algoritma Oleh: Rinaldi Munir
Meningkatkan kemampuan quick sort
Algoritma Divide and Conquer
PENCARIAN (SEARCHING)
Quick Sort dan Merge Sort
MATEMATIKA DISKRIT Kompleksitas Algoritma Kelompok 9
Kompleksitas Waktu Asimptotik
BAB 6 S O R T I R Sebelum mengetahui lebih jauh tentang sorting, sebaiknya kita ingat kembali pengertian file dan record. File adalah kumpulan record,
STRUKTUR DATA (4) Sorting dan Searching Array
Algoritma dan Struktur Data
Design and Analysis Algorithm
Algoritma Divide and Conquer
R ESPONSI UAS DAA MIT SKI IT Telkom. Q UICKSORT ( D IVIDE AND C ONQUER ) Cara2nya,, Pilih Anggota secara random (misal ambil yang ketengah) sebutlah anggota.
Sorting 2007/2008 – Ganjil – Minggu 5.
1 Pertemuan 9 DIVIDE And CONQUER Matakuliah: T0034/Perancangan & Analisis Algoritma Tahun: 2005 Versi: R1/0.
Pertemuan 10 DIVIDE And CONQUER Lanjutan ….
MATRIKS.
Algoritma Divide and Conquer (Bagian 2) Wahyul Wahidah Maulida, ST.,M.Eng.
Algoritma Divide and Conquer (Bagian 1) Wahyul Wahidah Maulida, ST., M.Eng.
12-CRS-0106 REVISED 8 FEB 2013 CSG523/ Desain dan Analisis Algoritma Divide and Conquer Intelligence, Computing, Multimedia (ICM)
Algoritma Brute Force Oleh: Muhammad Musta’in ( )
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
CSG3F3/ Desain dan Analisis Algoritma
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
STRUKTUR DATA Chapt 07 : Sorting Oleh : Yuli Praptomo PHS, S.Kom.
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma dan Struktur Data 1 pertemuan 12
PENGURUTAN (SORTING) Pengurutan adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat dilakukan secara.
Masalah PL dgn Simpleks Pertemuan 3:
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
Kompleksitas Algoritma
Faktor analisa algoritma
Algoritma dan Struktur Data
STRUKTUR DATA (3) sorting array
Metode pemecahan masalah
STRUKTUR DATA sorting array
Modul 6 : Analisis Algoritma dan Struktur Data
Sorting Shell sort, Merge sort, Quick sort
MATERI PERKULIAHAN ANALISIS ALGORITMA
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
Bubble sort.
Algoritma sorting.
ALGORITMA BRUTE FORCE Pertemuan 3.
Algoritma Brute Force.
STRUKTUR DATA (3) sorting array
Kompleksitas Algoritma
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
BAB 1 Bentuk Pangkat, Akar, dan Logaritma
Algoritma Divide and Conquer
Sorting Dasar Pemrograman
STRUKTUR DATA (3) sorting array
Algoritma Brute Force.
19/09/2018 Studi Kasus LOGIKA ALGORITMA Siti Mukaromah.
Desain dan Analisis Algoritma
Analisis Algoritma E. Haodudin Nurkifli Teknik Informatika
Transcript presentasi:

Algoritma Divide and Conquer (Bagian 2)

(c) Quick Sort Termasuk pada pendekatan sulit membagi, mudah menggabung (hard split/easy join) Tabel A dibagi (istilahnya: dipartisi) menjadi A1 dan A2 sedemikian sehingga elemen-elemen A1  elemen-elemen A2.

Teknik mem-partisi tabel: (i) pilih x  { A[1], A[2], ..., A[n] } sebagai pivot, (ii) pindai tabel dari kiri sampai ditemukan A[p]  x (iii) pindai tabel dari kanan sampai ditemukan A[q]  x (iv) pertukarkan A[p]  A[q] (v) ulangi (ii), dari posisi p + 1, dan (iii), dari posisi q – 1 , sampai kedua pemindaian bertemu di tengah tabel

Cara pemilihan pivot: Pivot = elemen pertama/elemen terakhir/elemen tengah tabel Pivot dipilih secara acak dari salah satu elemen tabel. Pivot = elemen median tabel

Kompleksitas Algoritma Quicksort: 1. Kasus terbaik (best case) Kasus terbaik terjadi bila pivot adalah elemen median sedemikian sehingga kedua upatabel berukuran relatif sama setiap kali pempartisian.

2. Kasus terburuk (worst case) Kasus ini terjadi bila pada setiap partisi pivot selalu elemen maksimum (atau elemen minimum) tabel. Kasus jika tabel sudah terurut menaik/menurun

3. Kasus rata-rata (average case) Kasus ini terjadi jika pivot dipilih secara acak dari elemen tabel, dan peluang setiap elemen dipilih menjadi pivot adalah sama. Tavg(n) = O(n 2log n).

(d) Selection Sort

4. Perpangkatan an Misalkan a  R dan n adalah bilangan bulat tidak negatif: an = a × a × … × a (n kali), jika n > 0 = 1 , jika n = 0

Algoritma menghitung an: 1. Untuk kasus n = 0, maka an = 1. Penyelesaian dengan Divide and Conquer Algoritma menghitung an: 1. Untuk kasus n = 0, maka an = 1. 2. Untuk kasus n > 0, bedakan menjadi dua kasus lagi: (i) jika n genap, maka an = an/2  an/2 (ii) jika n ganjil, maka an = an/2  an/2  a

5. Perkalian Matriks Misalkan A dan B dua buah matrik berukuran n  n. Perkalian matriks: C = A × B

Algoritma Perkalian Matriks Strassen Hitung matriks antara: M1 = (A12 – A22)(B21 + B22) M2 = (A11 + A22)(B11 + B22) M3 = (A11 – A21)(B11 + B12) M4 = (A11 + A12)B22 M5 = A11 (B12 – B22) M6 = A22 (B21 – B11) M7 = (A21 + A22)B11 maka, C11 = M1 + M2 – M4 + M6 C12 = M4 + M5 C21 = M6 + M7 C22 = M2 – M3 + M5 – M7

6. Perkalian Dua Buah Bilangan Bulat yang Besar Persoalan: Misalkan bilangan bulat X dan Y yang panjangnya n angka X = x1x2x3 … xn Y = y1y2y3… yn Hitunglah hasil kali X dengan Y.

Penyelesaian: T(n) = O(n2). Ternyata, perkalian dengan algoritma Divide and Conquer seperti di atas belum memperbaiki kompleksitas waktu algoritma perkalian secara brute force. Adakah algoritma perkalian yang lebih baik?

Perbaikan (A.A Karatsuba, 1962):