Postingan

Menampilkan postingan dari Desember, 2021

Implementasi Algoritma Divided & Conquer

Gambar
Implementasi Algoritma Divided & Conquer Implementasi Algoritma Divided & Conquer Quick Sort                Quick Sort ditemukan oleh C.A.R Hoare. Algoritma ini sama seperti merge sort yaitu berdasarkan pada pola divide & conquer. Walaupun sama namun algoritma ini terdapat perbedaan dalam langkah - langkah penyelesaiannya, yaitu : Divide Memilah rangkaian data menjadi dua bagian rangkaian A[p...q - 1] dan A[q + 1...r] dimana setiap elemen A[p...q + 1] adalah kurang atau sama dengan A[q] dan setiap elemen A[q + 1...r] adalah lebih atau sama dengan A[q]. A[q] merupakan elemen pivot dan perhitungan elemen q merupakan salah satu bagian dari prosedur pemisahan. Conquer Mengurutkan elemen pada sub-rangkaian secara rekursif. Berikut ini algoritma dari quick sort void quickSort(Object array[], int leftIdx, int rightIdx) { int pivotIdx; /* Kondisi Terminasi */ if (rightIdx > leftIdx) { pivotIdx = partition(array, leftIdx, rightIdx); quickSort(array, leftIdx, pivotIdx-1);

Algoritma Divide and Conquer

Gambar
ALGORITMA DIVIDE AND CONQUER Pengertian  Algoritma Divide dan Conquer merupakan hasil gabungan dari kata Divide dan Conquer. Conquer ini berarti membagi persoalan menjadi beberapa masalah yang memiliki kemiripan dengan persoalan semula namun berbeda kecil. Sedangkan Conquer merupakan penyelesaian setiap masalah yang ada. Pengertian dari Algoritma Divide and Conquer adalah strategi pemecahan masalah yang besar dengan cara melakukan pembagian masalah yang besar menjadi beberapa bagian yang lebih kecil secara rekrusif sehingga masalah tersebut dapat terpecahkan langsung. Sejarah Nama Divide and Conquer sendiri diambil dari siasat militer milik Belanda pada zaman penjajahan dengan nama divide ut imperes . Strategi ini merupakan strategi yang fundamental dalam ilmu komputer dengan sebutan Divide and Conquer. Algoritma ini ditemukan ilmuwan Rusian bernama Anatolii Alexeevich Karatsuba pada tahun 1960. Cara Kerja Ada 3 cara tahap kerja pada algoritma ini, yaitu : Divide : Membagi masalah menj