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
Sorting (Pengurutan).
STRUKTUR DATA sorting array
QUICK SORT Kelompok 9.
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Bahan Kuliah IF3051 Strategi Algoritma Oleh: Rinaldi Munir
Meningkatkan kemampuan quick sort
Design and Analysis of ALGORITHM (Session 3)
Algoritma Divide and Conquer
PENCARIAN (SEARCHING)
Quick Sort dan Merge Sort
MATEMATIKA DISKRIT Kompleksitas Algoritma Kelompok 9
Kompleksitas Waktu Asimptotik
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.
Algoritma Pemotongan Algoritma Gomory Langkah 1 x3* = 11/2 x2* = 1
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 ….
Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 9 DIVIDE AND CONQUER (1)
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)
Tugas Kelompok 6 Teknik Sort.
Perbandingan Algoritma Brute Force dan Depth First Search (DFS) dalam Kasus Travelling Salesman Problem (TSP) Ervin Yohannes ( )
MATERI PERKULIAHAN ANALISIS ALGORITMA
KUG1A3 Algoritma& Pemrograman
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
STRUKTUR DATA Chapt 07 : Sorting Oleh : Yuli Praptomo PHS, S.Kom.
KUG1A3 Algoritma& Pemrograman
Algoritma dan Struktur Data 1 pertemuan 12
Algoritma Divide and Conquer
PENGURUTAN (SORTING) Pengurutan adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat dilakukan secara.
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
Imam Gunawan, M. Kom STMIK-AMIK Jayanusa Padang
Sorting Shell sort, Merge sort, Quick sort
MATERI PERKULIAHAN ANALISIS ALGORITMA
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
Bubble sort.
Algoritma sorting.
ALGORITMA BRUTE FORCE Pertemuan 3.
STRUKTUR DATA (3) sorting array
TEKNIK RISET OPERASI MUH.AFDAN SYARUR CHAPTER.1
Kompleksitas Algoritma
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Analisa algoritma rekursif
Algoritma Divide and Conquer
Sorting Dasar Pemrograman
STRUKTUR DATA (3) sorting array
19/09/2018 Studi Kasus LOGIKA ALGORITMA Siti Mukaromah.
KECERDASAN BUATAN PERTEMUAN 4.
Desain dan Analisis Algoritma
Analisis Algoritma E. Haodudin Nurkifli Teknik Informatika
Sorting.
SORTING.
Transcript presentasi:

Algoritma Divide and Conquer

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), dan Combine: mengabungkan solusi masing-masing upa-masalah sehingga membentuk solusi masalah semula.

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.

Penyelesaian: T(n) = 2T(n/2) + cn = 2(2T(n/4) + cn/2) + cn = 4T(n/4) + 2cn = 4(2T(n/8) + cn/4) + 2cn = 8T(n/8) + 3cn = ... = 2k T(n/2k) +kcn Berhenti jika ukuran tabel terkecil, n = 1: n/2k = 1  k = 2log n sehingga T(n) = nT(1) + cn 2log n = na + cn 2log n = O(n log n)

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

Kompleksitas waktu algoritma

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

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

Tugas Buatlah slide presentasi tentang: Depth First Search Breadth First Search Bahasan: Konsep/alur serta kompleksitas algoritma