Quick Sort adalah salah satu algoritma pengurutan data yang paling cepat, yaitu dengan membagi list menggunakan sebuah pivot. Quick Sort juga menggunakan rekursif dalam algoritmanya.
Misalnya jika pengurutannya secara ascending, data yang kurang dari pivot sudah ditentukan ditaruh disebelah kirinya pivot sedangkan data yang lebih besar dari pivot maka ditaruh disebelah kanan pivot. Setelah dipisah, bagian-bagian yang sudah dipisah melakukan pembagian seperti sebelumnya karena ini sehingga Quick Sort menggunakan rekursif. Begitu seterusnya sampai data terurut.
B. Ilustrasi
C. Algoritma
input myList
D. Kode Program
Modifikasi Quick Sort
Pada Quick Sort di atas adalah pivot yang diambil adalah data paling kiri. Berikut Quick Sort dengan pivot yang digunakan adalah data yang terakhir.
Berikut Quick Sort dengan pivot ditengah.
B. Ilustrasi
C. Algoritma
input myList
def quicksort(myList, start, end): if start < end: # partition the list pivot = partition(myList, start, end) # sort both halves quicksort(myList, start, pivot-1) quicksort(myList, pivot+1, end) return myList
output listdef partition(myList, start, end): pivot = myList[start] left = start+1 right = end done = False while not done: while left <= right and myList[left] <= pivot: left = left + 1 while myList[right] >= pivot and right >=left: right = right -1 if right < left: done= True else: # swap places temp=myList[left] myList[left]=myList[right] myList[right]=temp # swap start with myList[right] temp=myList[start] myList[start]=myList[right] myList[right]=temp return right
D. Kode Program
Modifikasi Quick Sort
Pada Quick Sort di atas adalah pivot yang diambil adalah data paling kiri. Berikut Quick Sort dengan pivot yang digunakan adalah data yang terakhir.
Berikut Quick Sort dengan pivot ditengah.
makasih sudah share
BalasHapuspinset hp