Algoritma Quick Sort
Algoritma Penyortiran Cepat
Algoritma quick sort
diperkenalkan pertama kali oleh C.A.R. Hoare pada tahun 1960, dan dimuat
sebagai artikel di “Computer Journal 5” pada April 1962. Quick sort adalah
algoritma sorting yang berdasarkan pembandingan dengan metoda
divide-and-conqueror. Disebut Quick Sort, karena Algoritma quick sort
mengurutkan dengan sangat cepat.
Algoritma quick sort mengurutkan dengan sangat cepat, namun algoritma ini
sangat komplex dan diproses secara rekursif. Sangat memungkinkan untuk menulis
algoritma yang lebih cepat untuk beberapa kasus khusus, namun untuk kasus umum,
sampai saat ini tidak ada yang lebih cepat dibandingkan algoritma quick sort.
Quick Sort merupakan suatu algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, sehingga metode ini disebut juga dengan nama partition exchange sort. Untuk memulai irterasi pengurutan, pertama-tama sebuah elemen dipilih dari data, kemudian elemen-elemen data akan diurutkan diatur sedemikian rupa
Quick Sort merupakan suatu algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, sehingga metode ini disebut juga dengan nama partition exchange sort. Untuk memulai irterasi pengurutan, pertama-tama sebuah elemen dipilih dari data, kemudian elemen-elemen data akan diurutkan diatur sedemikian rupa
Strategi divide-and-conqueror digunakan di dalam
quicksort.
Di bawah iniakan dijelaskan langkah-langkahnya :
Di bawah iniakan dijelaskan langkah-langkahnya :
Pilih nilai pivot Kita ambil nilai di tengah-tengah
elemen sebagai sebagai nilaidari pivot tetapi bisa
nilai mana saja.
Partisi Atur ulang semua elemen sedemikian rupa,
lalu semua elemen yang lebihrendah daripada pivot dipindahkan ke
sebelah kiri dari array/list dan semuaelemen yang lebih besar
dari pivot dipindahkan ke sebelah kanan dari
array/list. Nilai yang sama dengan pivot dapat
diletakkan di mana saja dari array. Ingat,mungkin array/list akan dibagi
dalam bagian yang tidak sama.
Urutkan semua bagian (kiri/kanan) Aplikasikan
algoritma quicksort secararekursif pada bagian sebelah kiri dan kanan.
Algoritma Partisi
Secara Detail
Ada dua indeks i dan j dan pada awal algoritma partisi i
menunjuk ke elemen pertama dalam array dan poin j yang terakhir. Kemudian
algoritma menggerakkan i ke depan, sampai elemen dengan nilai yang lebih besar
atau sama dengan pivot ditemukan. Indeks j bergerak mundur, sampai elemen
dengan nilai yang lebih rendah atau sama dengan pivot
ditemukan. Jika i ≤ j maka mereka bertukar dan saya
langkah ke posisi berikutnya (i + 1), langkah-langkah j
dengan yang sebelumnya (j - 1). Algoritma berhenti, ketika saya menjadi lebih
besar dari j. Setelah partisi, semua nilai sebelum elemen ke-i kurang atau sama
dengan pivot dan semua nilai setelah elemen ke-j lebih besar atau sama dengan
pivot.
Kelebihan
Algoritma Quicksort memiliki kompleksitas O(n log n) dimana
pada prakteknya lebih cepat dari algoritma pengurutan lainnya.
Kekurangan
Pada kemungkinan terburuknya, algoritma Quicksort ini dapat
memiliki kompleksitas O(n2). Meskipun ini sangat langka terjadi
sangat menambah wawasan
BalasHapusSusah dipahami
BalasHapusTernyataaa
BalasHapus