Berikut ini adalah pertanyaan dari rafliudin33 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
python code
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[0]
left = [x for x in arr[1:] if x < pivot]
right = [x for x in arr[1:] if x >= pivot]
return quick_sort(left) + [pivot] + quick_sort(right)
# contoh penggunaan
data = [15, 2, 10, 3, 9, 4]
hasil = quick_sort(data)
print(hasil) # mencetak: [2, 3, 4, 9, 10, 15]
Pilih element pivot, yaitu element pertama (15).
Tentukan element-element yang lebih kecil dari pivot (15) dan element- element yang lebih besar dari pivot (15). Element-element yang lebih kecil dari pivot adalah 2 dan 3, dan element-element yang lebih besar dari pivot adalah 10, 9, dan 4.
Tempatkan element-element yang lebih kecil dari pivot di sebelah kiri pivot, dan element-element yang lebih besar dari pivot di sebelah kanan pivot. Maka, data terurut menjadi: 2, 3, 15, 10, 9, 4.
Lakukan langkah 1-3 untuk subarray di sebelah kiri pivot (2 dan 3) dan subarray di sebelah kanan pivot (10, 9, dan 4). Pada subarray di sebelah kiri pivot, pivot adalah element pertama (2), dan pada subarray di sebelah kanan pivot, pivot adalah element pertama (10). Maka, data terurut menjadi: 2, 3, 4, 9, 10, 15.
Semoga dengan pertanyaan yang sudah terjawab oleh FahriNavia33 dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Thu, 23 Mar 23