Quick Sort Python (Indonesian Language)


A. Definisi
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
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

def 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
output list

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.


#Quick #Sort #Python #kecil #ke #kiri #modifikasi #modif #tengah
 

Komentar

Posting Komentar