Pengurutan Data Secara Advanced Dengan Quick Sort
Ini adalah metode pengurutan terakhir yang akan saya tulis di blog ini.Karena untuk metode lain seperti Heap Sort, Counting Sort,Radix Sort dll mungkin itu udah terlalu susah untuk dipahami takutnya kepala anda meledak.Gak gak bercanda kok.Untuk metode yang saya sebutkan tadi butuh pemahaman lebih itu saja
Nah,kali ini kita akan bahas Quick Sort.Quick Sort ini mengandalkan titik pivot dan kemudian membandingkannya dengan elemen lain.Seperti apa sih cara menggunakannya ?
Misal saya punya data seperti 32,21,44,25,47,28,35 dan saya akan urutkan secara Ascending
1) Ambil titik sembarang sebagai titik pivot.Supaya 4gampang saya pilih elemen terakhir 35 sebagai titik pivot.Kita tempatkan 35 di tengah-tengah yang nantinya di isi elemen
32 21 44 25 47 28 35
35
2) Bandingkan elemen satu per satu dengan pivot.Jika lebih kecil,maka tempatkan di kiri pivot.Jika lebih besar,tempatkan di kanan pivot
32 21 44 25 47 28
32 35
32 21 44 25 47 28
32 21 35
32 21 44 25 47 28
32 21 35 44
32 21 44 25 47 28
32 21 25 35 44
32 21 44 25 47 28
32 21 25 35 44 47
32 21 44 25 47 28
32 21 25 28 35 44 47
3) Proses belum selesai di sini bagi jadi 2 partisi ada 7 elemen berarti 4 elemen untuk partisi kiri dan 3 elemen untuk partisi kanan.Tentukan pivot masing-masing partisi kemudian lakukan langkah seperti tadi
32 21 25 28 (Partisi kiri)
35 44 47 (Partisi kanan)
Partisi Kiri
32 21 25 28
28 32
32 21 25 28
21 28 32
32 21 25 28
21 25 28 32
Karena di kanan pivot hanya tinggal satu elemen berarti tidak usah dibagi lagi untuk partisi kiri kita mendapatkan 21 25 28 32
Partisi Kanan
35 44 47
Partisi kanan sudah urut di sini berarti tinggal digabungkan dengan partisi kiri untuk mendapatkan hasil pengurutan yaitu 21 25 28 32 35 44 47
PseudoCode Untuk QuickSort
algorithm quicksort(A, lo, hi) isPenerapan di Java dan Python
if lo < hi then
p := partition(A, lo, hi)
quicksort(A, lo, p - 1)
quicksort(A, p + 1, hi)
algorithm partition(A, lo, hi) is
pivot := A[hi]
i := lo
for j := lo to hi do
if A[j] < pivot then
swap A[i] with A[j]
i := i + 1
swap A[i] with A[hi]
return i
Java Quick Sort
Post a Comment for "Pengurutan Data Secara Advanced Dengan Quick Sort"
Jangan spam atau promosi di sini jgn juga taruh link aktif kalau mau dapat backlink bisa taruh di profil saja (Name/URL)