STRUKTUR DATA Sorting - Insertion Sort, Quick Sort Python


STRUKTUR DATA Sorting - Insertion Sort, Quick Sort



Insertion Sort
Insertion  selalu mempertahankan daftar list yang disortir di posisi bawah daftar. Setiap item baru kemudian "dimasukkan" kembali ke daftar sebelumnya sehingga sublist yang diurutkan adalah satu item yang lebih besar.


 

def insertionSort(data):
    for i in range (1, len(data)):
        print(data)
        value = data[i]
        posisi = i
        while posisi > 0 and data[posisi-1] < value:
            data[posisi] = data[posisi-1]
            posisi -= 1
        data[posisi] = value
    print(data)

data =[68, 90, 78, 44, 34, 20, 100, 56, 34]
insertionSort(data)
print(data)






  QuickSort.
Quicksort adalah dikenal dengan pengurutan/penyortiran algoritma yang sering lebih cepat dalam praktiknya dibandingkan dengan penyortiran algoritma lainnya. Ini menggunakan cara membagi-dan-mengatasi untuk dengan cepat mengurutkan item data dengan membagi array/list besar ke dalam dua array/list yang lebih kecil.




 

 


def QuickSortAwal(A):
    QuickSort(A,0,len(A)-1)

def QuickSort(A,start,end):
    if start<end:
        pIndex = Partition(A,start,end)
        QuickSort (A,start,pIndex-1)
        QuickSort (A,pIndex+1,end)

def Partition(A,start,end):
    pivot = A[end]
    pIndex = start
    for i in range(start,end):
        if (A[i] >= pivot):
            A[i],A[pIndex]=A[pIndex],A[i]
            pIndex=pIndex+1
    A[pIndex],A[end]=A[end],A[pIndex]
   
    return pIndex

A=[100,6,500,4,56,2,1,0]
QuickSortAwal(A)
print(A)

Komentar

Postingan populer dari blog ini

STRUKTUR DATA - INFIX, PREFIX, POSTFIX EXPRESSIONS Python

STRUKTUR DATA Sorting - Merged Sort, Shell Sort Python