Implementasi Algoritma Divided & Conquer
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);