Quick Sort

Quick Sort
·        Definisi
Algoritma quick sort mengurutkan dengan sangat cepat, namun algoritma ini sangat komplex dan diproses secara rekursif. Sangat memungkinkan untuk menulis algoritma yang lebih cepat untuk beberapa kasus khusus, namun untuk kasus umum, sampai saat ini tidak ada yang lebih cepat dibandingkan algoritma quick sort.
      Quick Sort merupakan suatu algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, sehingga metode ini disebut juga dengan nama partition exchange sort. Untuk memulai irterasi pengurutan, pertama-tama sebuah elemen dipilih dari data,  kemudian elemen-elemen data akan diurutkan diatur sedemikian rupa
·        Ilustrasi




·        Algoritma

while posisi>0 and alist[posisi-1]>nilai:
         alist[posisi]=alist[posisi-1]
         posisi = posisi-1
     alist[posisi]=nilai

     print(data)

·        Kode Program
Pivot berada di akhir :
           def quicksort (lst, awal, akhir):
    if ((akhir - awal)>0):
        p = partition (lst, awal, akhir)
        quicksort(lst,awal,p-1)
        quicksort(lst, p+1,akhir)

def partition(lst,awal,akhir):
    divider=awal
    pivot=akhir

    for i in range (awal, akhir):
        if(lst[i]<lst[pivot]):
            lst[i], lst[divider] = lst[divider], lst[i]
            divider=divider+1
    lst[pivot], lst[divider] = lst[divider], lst[pivot]
    print(lst,lst[pivot])
    return divider

def quick(lst):
    quicksort(lst,0,len(lst)-1)

angka = [6, 5, 3, 1, 8, 7, 2, 4]

quick(angka

Postingan terkait:

Belum ada tanggapan untuk "Quick Sort"

Posting Komentar