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
Posting Komentar