Video: Belajar Sorting Algoritma (Bubblesort, Selection Sort, Quick Sort) 2025
Di sini, Anda mengetahui bagaimana teknik pemilahan yang paling umum digunakan di Jawa benar-benar bekerja. Teknik ini disebut Quicksort, dan ini adalah penggunaan rekursi yang sangat cerdik.
Bagi kebanyakan dari kita, pikirkan bagaimana algoritma sortasi seperti karya Quicksort hanyalah latihan intelektual. Java API telah memilah-milah yang sudah ada.
Teknik Quicksort memilah-milah sejumlah nilai dengan menggunakan rekursi. Langkah dasarnya adalah:
-
Pilih nilai sewenang-wenang yang berada dalam kisaran nilai dalam array.
Nilai ini adalah titik pivot . Cara yang paling umum untuk memilih titik pivot adalah dengan memilih nilai pertama dalam array. Orang-orang telah menulis gelar doktor dengan cara yang lebih canggih untuk memilih titik pivot yang menghasilkan pemilahan lebih cepat. Stick dengan menggunakan elemen pertama dalam array.
-
Atur ulang nilai dalam array sehingga semua nilai yang kurang dari titik pivot berada di sisi kiri array dan semua nilai yang lebih besar dari atau sama dengan titik pivot berada di sisi kanan array.
Nilai pivot menunjukkan batas antara sisi kiri dan sisi kanan array. Mungkin tidak akan menjadi pusat mati, tapi itu tidak masalah. Langkah ini disebut partisi , dan sisi kiri dan kanan dari array adalah partisi.
-
Sekarang perlakukan masing-masing dari dua bagian array sebagai array terpisah, dan mulai lagi dengan Langkah 1 untuk bagian itu.
Itu bagian rekursif dari algoritma.
38 17 58 22 69 31 88 2886 12
Di sini titik pivot adalah 38, dan tugas langkah partisi adalah mengatur ulang array menjadi sesuatu seperti ini: < 17 12 22 28 31 38 88 69 86 58
Perhatikan bahwa nilainya masih kurang. Array, bagaimanapun, telah dibagi di sekitar nilai 38: Semua nilai yang kurang dari 38 berada di sebelah kiri 38, dan semua nilai yang lebih besar dari 38 berada di sebelah kanan 38.
Sekarang Anda dapat membagi array menjadi dua partisi pada nilai 38 dan ulangi proses untuk masing-masing sisi. Nilai pivot itu sendiri berjalan dengan partisi kiri, jadi partisi kiri adalah ini:
17 12 22 28 31 38
Kali ini, langkah partisi mengambil 17 sebagai titik pivot dan menata kembali elemen-elemen sebagai berikut: > 12 17 22 28 31 38
Seperti yang Anda lihat, bagian dari rangkaian ini diurutkan sekarang.Sayangnya, Quicksort tidak menyadari bahwa pada saat ini, jadi dibutuhkan beberapa kunjungan lagi untuk memastikannya. Tapi itulah proses dasarnya.
